代码片段 https://developers.weixin.qq.com/s/vEV0jkm17a4R
这是gif:https://s27.aconvert.com/convert/p3r68-cdx67/hry4f-4yah7.gif
真机机型:安卓 三星 s8
代码非常简单,开发者工具运行一切正常,但是真机运行时,反复滑动,就会出现“准备渲染“跟“渲染成功”隔了两三秒的情况,MenuItem里面有116个元素,每个元素只有一个属性,当我把MenuItem的数据减少时就很难重现了,元素越多越容易重现
https://developers.weixin.qq.com/s/apfoBlmA7v4V
这样好点不
真机运行还是一样...而且这样setData不是更频繁了吗?
这个弹框加上去在真机才能看到效果...
主要。。我没安卓机器测试~
哈哈~已经很感谢了,我刚刚试了下,现在的代码在iphone下确实稳稳的,就是安卓有点问题
老铁,再请教一个问题,为什么我换成用按钮来触发这个选中事件就不会有任何延迟问题呢?
是不是微信对于bindscroll触发或者setTimeout延时触发的setData有特殊处理?
我是这么理解的,问题不是setData慢,而是scroll的时候,会产生大量的事件,在事件队列里,setData的渲染也会在这个队里里。。因为scroll的阻塞,才会有setData渲染慢的情况。而setData的回调也是在渲染后才放到事件队列,同样被scroll的事件们阻塞,所以慢。所以,你去掉scroll监听了才正常的吗?