关于setDate的值过大的问题
发布于 6 年前 作者 yinxiuying 6248 次浏览 来自 问答

是这样的,最近在弄一个筛选功能.本来功能已经做完了,到调试的时候,发现有一个筛选项居然有近三千条数据,是的,你没看错,是三千条!!!没说过啊…搞毛啊.

然后,妥妥地出现卡爆了的现象.然后通过排除后,我发现,80%时间是在

这个代码处理上.这个SearchInit中就包涵了那三千个元素的数组.

    换句话说,setData这个方法在处理较大的数据时会出现很卡的情况.

    也许上面那句话可能不严谨,因为在不手牌子的手机上,相应的处理时间会出现很大的偏差值.

目前随手测试了几个机型,小米6手机上处理时间约700ms,在华为mate9上约2S,在iphone6s上也是2S左右.

而且比较奇怪的是,以mate9为例,相应的函数处理时间为2S,但是用秒表掐的视图变化时间却在3S多.

这个是相应视图,领域项就是那三千条数据.SearchInit是这个筛选功能所需要所有数据的一个集合.

    我想问一下这1S多的差值时间用于了什么?然后,如何解决setData处理大值数据时的较慢问题?

5 回复

显示哪个就set哪个

时间都耗在都 diff 上了,一下子不要放太多数据,可以分队列处理

不行啊,因为可以同时选择多个一级项下面的二级项啊

懒加载,一次显示100,往下拉达到一定就push100进来如此类推

那就不要一次返回这么多,做个分页加载的

回到顶部