在官方的优化建议中是这么写的
频繁的去 setData
在我们分析过的一些案例里,部分微信小程序会非常频繁(毫秒级)的去setData,其导致了两个后果:
Android 下用户在滑动时会感觉到卡顿,操作反馈延迟严重,因为 JS 线程一直在编译执行渲染,未能及时将用户操作事件传递到逻辑层,逻辑层亦无法及时将操作处理结果及时传递到视图层;
渲染有出现延时,由于 WebView 的 JS 线程一直处于忙碌状态,逻辑层到页面层的通信耗时上升,视图层收到的数据消息时距离发出时间已经过去了几百毫秒,渲染的结果并不实时;
那么问题来了,感觉只能滑动的过程中去 setData 啊, 有没有遇到过这个问题的朋友, 你们是如何优化的? 或者有好的建议的朋友, 这块纠结好长时间了.... 歇歇各位了~ 祝各位工作顺利
附我的相关代码如下
questionMove: function(e) {
var screenHeight;
wx.getSystemInfo({
success: function (res) {
screenHeight = res.windowHeight;
}
})
if (e.touches[0].clientY > 20 && e.touches[0].clientY < screenHeight - 42) {
var x = screenHeight - e.touches[0].clientY;
that.setData({
questionHeight: x - 10 + 'px',
questionTop: e.touches[0].clientY
});
}
}
questionHeight 是滑动内容的高度值
questionTop 是滑动按钮的位置
questionMove 是点击按钮的滑动事件
再次歇歇各位啦~
微信小程序开发者回答:
果***:
有没有了解的朋友呀
果***:
再次求问~~~
L***:
建议不要自己处理滑动事件,而是用scroll-view、movable-view等组件来做。
果***:
谢谢。
本文网址:http://www.91bianli.com/weixinxiaochengxu/27572.html