由ActivityIndicator引起的APP卡顿

315 阅读1分钟

有段时间,我们APP有时候会遇到卡顿的情况,而且只有Android机会遇到。这个bug困扰我好久,因为这个bug出现几率根据手机的型号各自不同,而且还区分ios和android,及其恶心。后来发现,ActivityIndicator还在显示的时候,如果进行往下滑动操作,就会卡住。
我们的首页是以FlatList为主要组件,大概有7个请求,本来我设置的是当所有请求都完毕时再将RefreshControl的refreshing设为false,但是因为请求返回时间不一定,可能FlatList的data数据已经回来了,但是其余请求还没回来,这个时候ActivityIndicator还在页面上,但是list已经可以滑动了,就会造成两个组件冲突(?不知道咋描述(╥﹏╥) ),然后就卡死了。我的解决办法是使得refreshing一直未false,这样的话,ActivityIndicator只会在下拉之后的2秒之内显示一下,然后自动隐藏,自然不会冲突了。或者设置当FlatList的data数据请求回来后即刻将refreshing设置为false。