iOS-UITableView性能优化

作者: 简鱼7819 | 来源:发表于2017-10-26 17:57 被阅读46次

UITableView性能优化,这个问题只要做iOS研发相关工作的人都会遇到,或是工作开发需要,或者面试问题。

我这里整理一下,以便于自己和大家需要时候及时查看!

一,基础的优化,针对API

1,对于页面展示东西很多,上下频繁滑动,需要提前计算缓存好高度。这样做的原因heightForRowAtIndexPath:是调用最频繁的方法,提前计算缓存高度能有效提高滑动时流畅度。

2,正确使用reuserIdentifier来重用cell

3,在heightForRowAtIndexPath:中尽量不使用cellForRowAtIndexPath:,如果你真是需要调用它,那么只用一次然后缓存结果

二,基础的优化,针对view图层

1,尽量减少subviews的数量

2,尽量少用或不用透明图层(带有透明图层的view渲染更好性能)

3,cell涉及到圆角,如果cell还多次复用,尽量换乘图片或者贝尔赛曲线自己画出来,提供的layer切圆角API涉及到layer渲染。

4,尽量避免在cellForRowAtIndexPath:中addView给cell动态添加view,可以在初始化时候添加,然后使用hidden属性判断是否显示。

5,尽量view的Opaque设置为YES,opaque属性提示绘制系统如何处理view。如果opaque设置为YES,绘图系统会将view看为完全不透明,这样绘图系统就可以优化一些绘制操作以提升性能。如果设置为NO,那么绘图系统结合其它内容来处理view。默认情况下,这个属性是YES。)如果屏幕是静止的,那么这个opaque属性的设置与否不是一个大问题。但是,如果view是嵌入到scroll view中的,或者是复杂动画的一部分,不将设置这个属性的话肯定会影响程序的性能!

三,高级的优化

1,滚动很快时,有针对地加载目标范围的cell,按需加载cell,也能提高流畅度

2,cell中涉及大量网络加载的图片,使用异步加载(这一点我们要感谢开发SDWebImage的大神)=。=

3,异步绘制,遇到复杂界面,遇到性能瓶颈时,可能是突破口。

个人日常积累记录,各位请轻喷!!

参考资料:

http://blog.csdn.net/wy10207010219/article/details/46712753

相关文章

  • iOS-UITableView性能优化

    1.最常用的就是cell的重用, 注册重用标识符它的原理是,根据cell高度和tableView大小,确定界面上能...

  • iOS-UITableView性能优化

    UITableView性能优化,这个问题只要做iOS研发相关工作的人都会遇到,或是工作开发需要,或者面试问题。 我...

  • iOS-UITableView重用机制和性能优化、

    简介: UITableView我想大家都不陌生,他是UIKit一个重要组件。可以用来展示数据列表,或者灵活使用进行...

  • Android性能优化 - 消除卡顿

    性能优化系列阅读 Android性能优化 性能优化 - 消除卡顿 性能优化 - 内存优化 性能分析工具 - Tra...

  • Android性能优化 - 内存优化

    性能优化系列阅读 Android性能优化 性能优化 - 消除卡顿 性能优化- 内存优化 性能分析工具 - Trac...

  • 前端性能优化(中)

    性能优化调研系列文章 《前端性能优化(上)》 《前端性能优化(中)》 《前端性能优化(下)》 《前端性能优化(上)...

  • 前端性能优化(下)

    性能优化调研系列文章 《前端性能优化(上)》 《前端性能优化(中)》 《前端性能优化(下)》 《前端性能优化(中)...

  • Awesome Extra

    性能优化 性能优化模式 常见性能优化策略的总结 Spark 性能优化指南——基础篇 Spark 性能优化指南——高...

  • 常用的后端性能优化六种方式:缓存化+服务化+异步化等

    性能优化专题 前端性能优化 数据库性能优化 jvm和多线程优化 架构层面优化 缓存性能优化 常用的后端性能优化六大...

  • webpack 性能优化

    webpack性能优化 开发环境性能优化 生产环境性能优化 开发环境性能优化 优化打包构建速度 优化调试功能 生产...

网友评论

本文标题:iOS-UITableView性能优化

本文链接:https://www.haomeiwen.com/subject/dsbkpxtx.html