UITableView的优化

1、Cell 的复用机制

2、子线程加载延时操作,主线程更新即可

3、IO操作(延时操作),读取文件和写入文件,最好在cell显示之前将文件读取到内存(如程序加载时即读取)

4、缓存 cell 的行高(因为如果根据 cell 的约束确定行高,每当显示之前都需要计算)

5、注意使用预估行高(预估行高会使 cell 在显示之前才会去计算)

6、cellForRowAtIndexPath里面.

        *.尽量不要做耗时的操作,如果避免不了使用子线程来处理

        *.从本地加载图片,contentOfFile,会在主线程,读文件是本来就是耗时的操作,一进入界面就先用子线程去本地加载图片 NSCache

       *.不要在cellForRowAtIndexPath里面写文件

       *.cellForRowAtIndexPath里面不要去创建和删除view,最好是先懒加载好,显示就view.hidden = false,不要显示view.hidden = true

7、使用tableView dequeueReusableCellWithIdentifier:forIndexPath时会调用tableView:heightForRowAtIndexPath: ,注意会延时的操作

8、tableView滚动的时候停下gif.视频

9、view的透明层,能不设置就不设置,view尽量不要设置transform

10、视图层次结构不要太多

11、尽量不要图层圆角,1.将图片画成圆角2.让美工提供一张中间是圆角透明的图片遮在图片上面

12、尽量不要去设置图层阴影,会造成额外的开销(离屏渲染) 离屏渲染:GPU在还没有渲染到屏幕上之前要多做的一次渲染 :虚拟机--》Debug --》Color XXX

13、缓存cell的高度:cell高度不同的时候,最好只算一次,然后缓存起来,下次直接使用缓存的高度

14、图片的拉伸或压缩会影响性能(最好一样大)

15. AsyncDisplayKit ---> 第三方:https://github.com/facebook/AsyncDisplayKit

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 最近看到有些面试题中会问到TableView的优化,特定花了几天时间研究了一下各种优化技巧,主要就分为几个主要方向...
    星___尘阅读 9,818评论 5 30
  • 简单的介绍 UITableView最核心的思想就是UITableViewCell的重用机制。简单的理解就是:UIT...
    面包与世界阅读 1,463评论 0 0
  • 大咖龙兄有一本新书叫作《谁说你不能坚持》,这本书讲了他坚持的故事也给出我们坚持的方法。在读这本书以及读完的时...
    就是Tina阅读 4,707评论 2 3
  • 『晨语节气』 今日谷雨,谷雨是农历二十四节气中的第六个节气,谷雨源自古人“雨生百谷”之说。同时也是埯瓜点豆、播...
    年年有余_85d6阅读 1,738评论 0 0
  • 佛眼观众生,我观佛意明, 流水与飞雁,各自有前程! 此图来自庐江一怪
    平天下之文世界阅读 2,707评论 9 12

友情链接更多精彩内容