一个页面需要滑动才能加载数据的BUG

2017-03-31 Roger 更多博文 » 博客 » GitHub »

Bug Notes

原文链接 http://www.rogerblog.cn/2017/03/31/problems/
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。


一个页面需要滑动才能加载数据的BUG

今天遇到了一个页面需要滑动才能加载出数据的神奇问题~

努力排查后发现,由于是在非主线程调用了 RecycleView 的刷新,造成了列表的卡顿。

公司在项目前期使用了很多的 RxJava,造成很多的回调,其中的业务逻辑乱飞,各个回调方法运行在哪个线程很难判断,可读性极差,稍不注意就会造成在业务线程调用 UI 更新。

如果直接操作控件应该就会报一个错误,而恰巧我们调用的是 adaper 的界面刷新,根据 Google 的文档,在非主线程调用界面刷新将会造成无法预知的错误,我们这的 一加 和 三星 的表现就是界面完全卡住,需要手动的拖动列表才能重新刷新出来,而 谷歌5x 则大部分表现正常,不得不说亲儿子就是亲儿子.

Stay hungry stay foolish.