- 当前 Bug 的表现(可附上截图)
Android滚动后,视图刷新能力急剧下降。iPhone则没有
复现视频放到优酷:http://v.youku.com/v_show/id_XMzk5NDkyNzQ4MA==.html?spm=a2h3j.8428770.3416059.1
- 预期表现
滚动后跟之前一样,性能不下降。
- 复现路径
- 提供一个最简复现 Demo
(步骤一)随便一台安卓手机,导入代码片段,填写appid,开发者工具点击 “预览”,然后用安卓手机扫码使用。
(步骤二)点击 **打开定时器按钮**,可以看到事件触发数,大概一每秒 8 - 10个左右的速度在 刷新变化。
(步骤三)往下滑动一点点距离(只要有滑动即可),这时候 可以看到 事件触发数基本上 不怎么刷新变化了,几秒钟变化一下。(这时候最好等个10多秒钟)。
(步骤四)等待10多秒钟之后,可以点击 **显示提示文字按钮** ,这时候可以看到,事件触发数飞快的变化,新触发的事件,需要等前面这些堆积的执行完,才会触发 **显示提示文字按钮** 这个按钮的事件。
因为我们的小程序使用场景需要几十分钟内 定时获取 后端的数据刷新视图,发现 Android 手机 在滚动后,处理视图刷新的能力急剧下降,会有大量的视图刷新事件堆积。后续用户触发的操作要等待几十秒钟之后才响应(因为先执行前面堆积的)。
https://developers.weixin.qq.com/community/develop/doc/0006a6c1bc4aa88ebcd73fb7156400这个帖子应该是你想要的。当时是热火朝天哈哈
解决了。就是采用usingcomponents
可以试一下加usingcomponents,据说是会好很多的
这个方法是亲测的好用
哦了
usingcomponents 解决问题了。
请参考文档,类似这种倒计时最好是写在组件里面。
这里添加下也能解决问题。
麻烦管理员帮忙回答下为什么会这样、有什么解决办法
可以把刷新后台数据的部分自定义封装成组件,因为安卓手机在频繁的使用setData刷新时,会影响页面的点击事件等,之前我也遇到类似问题,采用自定义组件后解决了,你可以试试