collectionView卡顿的现象分析

2018-01-31  本文已影响0人  Bales_chu

前言

collectionView 大家都很熟悉,正常写的话如果界面上的控件不多,还有逻辑不麻烦的话应该都不会出现什么问题,只要注意平时应该注意的那几点应该都不会出现什么卡顿的问题,下面我来说一下我项目中遇到的大家可能会忽略的问题。
具体说一下我们的需求,我们是个人中心个他人中心展示不同的样式,我偷懒把这两个界面通过 UID 判断写成了一个界面,然后需要的时候隐藏一些不需要的控件,大概一个 cell 上的控件有10个左右,其实也不算麻烦,但是等我做出来之后特别卡,卡到我自己怀疑人生。
卡顿现象.gif

看了上面的 GIF卡成那样 ,关键还找不到原因,想不想砸电脑?然后我就开始怀疑自己写法是不是有问题,我就把个人中心和他人中心分开写,卡顿问题稍稍有点改观,但是远远达不到正常的流畅程度,我到最后能怀疑自己 collectionView 写的有问题上面了,我就单列出来一个 demo 写,把 cell 上的复杂的控件和逻辑都去掉,就单单一个图片,这个图片我也是加载的本地的固定的图片,写完发现很顺滑,没有一丝卡顿的问题,然后我想是不是我的界面上改变 hidden 属性改的太多?我在控制器里找问题,怎么改都达到满意的效果。

(加粗注意)当我检查自己自定义的cell内部model 的 set 方法时我蒙蔽了,我发现自己在给图片赋值的时候,每个 cell 的图片赋值我都遍历了存储图片的数组,所以才会这么卡瞬间找到了问题的所在,真想打自己的脸,问题就这样解决了,通过修改之后卡顿现象没有了。
(总结)所以最好总结出来的结论,当我们给 cell 赋值的时候,不能偷懒尽量自己逻辑处理的到位一点,能自己手动计算的自己计算一下,别给计算机留太多复杂逻辑处理,这样就会减少赋值的时候的性能。当然这些是在注意其他卡顿问题的前提上考虑的。
撒花,之前一直项目特别紧,一直加班,最近改春节了,稍微轻松了一点,可以抽出来点时间写点总结了,有喜欢的朋友点个喜欢,谢谢。
上一篇 下一篇

猜你喜欢

热点阅读