是这样的,最近在弄一个筛选功能.本来功能已经做完了,到调试的时候,发现有一个筛选项居然有近三千条数据,是的,你没看错,是三千条!!!没说过啊....搞毛啊.
然后,妥妥地出现卡爆了的现象.然后通过排除后,我发现,80%时间是在这个代码处理上.这个SearchInit中就包涵了那三千个元素的数组.
换句话说,setData这个方法在处理较大的数据时会出现很卡的情况.
也许上面那句话可能不严谨,因为在不手牌子的手机上,相应的处理时间会出现很大的偏差值.
目前随手测试了几个机型,小米6手机上处理时间约700ms,在华为mate9上约2S,在iphone6s上也是2S左右.
而且比较奇怪的是,以mate9为例,相应的函数处理时间为2S,但是用秒表掐的视图变化时间却在3S多.
这个是相应视图,领域项就是那三千条数据.SearchInit是这个筛选功能所需要所有数据的一个集合.
我想问一下这1S多的差值时间用于了什么?然后,如何解决setData处理大值数据时的较慢问题?
微信小程序开发者回答:
a***:
那就不要一次返回这么多,做个分页加载的
m***:
不行啊,因为可以同时选择多个一级项下面的二级项啊
杨***:
显示哪个就set哪个
卖***:
懒加载,一次显示100,往下拉达到一定就push100进来如此类推
S***:
时间都耗在都 diff 上了,一下子不要放太多数据,可以分队列处理
m***:系统记录
本文网址:http://www.91bianli.com/weixinxiaochengxu/28375.html