小程序
小游戏
企业微信
微信支付
扫描小程序码分享
在点餐页面上下滑动右侧菜品 联动左侧 分类的时候,ios 很流畅 但是 安卓手机有明显的卡顿现象,麻烦问下,这是什么原因呢?@官方
代码中 lNum 所对应的就是左侧分类的 index
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
setData 属于耗时操作,频繁调用可能影响性能,请尽可能在有变动时才 setData 或者以其他方式减少频率。如果问题还不能解决,就麻烦给一下代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)方便我们这边复现。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
我也遇到了类似的问题。在手机预览的时候也是很卡。滚动左边数据,右侧的分类响应不及时,很慢。代码片段
wechatide://minicode/4yRwFymF7d1F。数据很多的时候,滚动左边的数据,右边的分类响应不及时,很卡很慢。(手机上预览)
onScroll 触发频率本来就比较高,在 onScroll 里面遍历整个列表属于耗时操作,然后 setData 也是比较耗时的操作,请考虑优化一下遍历列表部分的代码,setData 也只在数据发生改变时才调用,例如
if
(
this
.data.classifySeleted !== classifySeleted)
.setData({
classifySeleted: classifySeleted
});
很感谢回答。不过,我把遍历去掉,滚动距离写死进行判断,最后用setData。手机预览依然很慢,不过在开发者工具上是及时响应。
setData 本身也有一定延迟,你可以做几个小实验看一下是不是手机那边 setData 就比较慢?我这里真机也不是很明显
直接把数据删掉一部分。每个分类10条数据,其他不变。工具和手机上都没问题,响应及时。
可能数据量太大导致渲染流程也耗时过长了,如果真的有那么大的数据量需求,可以看看官方最近出的 recycle-view https://github.com/wechat-miniprogram/recycle-view
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
setData 属于耗时操作,频繁调用可能影响性能,请尽可能在有变动时才 setData 或者以其他方式减少频率。如果问题还不能解决,就麻烦给一下代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)方便我们这边复现。
我也遇到了类似的问题。在手机预览的时候也是很卡。滚动左边数据,右侧的分类响应不及时,很慢。代码片段
wechatide://minicode/4yRwFymF7d1F。数据很多的时候,滚动左边的数据,右边的分类响应不及时,很卡很慢。(手机上预览)
onScroll 触发频率本来就比较高,在 onScroll 里面遍历整个列表属于耗时操作,然后 setData 也是比较耗时的操作,请考虑优化一下遍历列表部分的代码,setData 也只在数据发生改变时才调用,例如
if
(
this
.data.classifySeleted !== classifySeleted)
this
.setData({
classifySeleted: classifySeleted
});
很感谢回答。不过,我把遍历去掉,滚动距离写死进行判断,最后用setData。手机预览依然很慢,不过在开发者工具上是及时响应。
setData 本身也有一定延迟,你可以做几个小实验看一下是不是手机那边 setData 就比较慢?我这里真机也不是很明显
可能数据量太大导致渲染流程也耗时过长了,如果真的有那么大的数据量需求,可以看看官方最近出的 recycle-view https://github.com/wechat-miniprogram/recycle-view