组件循环性能问题
发布于 5 年前 作者 oyu 15956 次浏览 来自 问答

在通过mpvue做小程序开发时,拿到后台数据列表之后往往会因为自定义组件怎么写而纠结。

主要是渲染列表的自定义组件,是将列表写成一个组件然后直接将数组传入该列表组件在组件内部循环渲染,还是将一项写成一个组件,然后在外部做循环将每一条数据传入组件,一直都没有来得及去做验证,有哪位知道,还请分析讲解一下☺

3 回复

期待官方优化

这个问题前天已经验证,在一次渲染100条数据的基础上做的测试,分别写了两个组件一个是组件是接受数据列表(在组件内部做循环,每次渲染只调用1一次组件)下面称“列表组件”,一个组件接受每一项(每次渲染100个组件)下面称“item组件”。

测试表现:

渲染item组件,小程序占用内存在原来的基础上直接飙升两百多兆多导致“低”性能手机(小米6,6G,128G)直接卡掉,有些iPhone手机因为内存问题直接闪退,iPhone XR 可以正常运行。

渲染列表组件,小程序内存在原来的基础上增加五十兆左右,从此低性能的手机也躲过了一劫。。。

由于小程序有其他功能,并没有做单独测试,如果你们做这样的测试可能结果会不太一样。

这个只是外部表象,具体是因为什么导致内存飙升,大家如果知道的话可以留言告知😄。

我的猜测:可能是自定义组件性能问题,自定义组件在短时间内集中渲染过多导致内存飙升,如果有哪位大神知道具体原因请告知一下,O(∩_∩)O谢谢。

回到顶部