如何提高tableView的性能
2015-07-31 17:59
176 查看
如何提高tableView的性能
a、重用cell
我们都知道申请内存是需要时间,特别是在一段时间内频繁的申请内存将会造成很大的开销,而且上tebleView中cell大部分情况下布局都是一样的,这个时候我们可以通过回收重用机制来提高性能。
b、避免content的重新布局
尽量避免在重用cell时候,对cell的重新布局,一般情况在在创建cell的时候就将cell布局好。
c、使用不透明的subView
在定制cell的时候,将要添加的subView设置成不透明的会大大减少多个view层叠加时渲染所需要的时间。
d、如果方便,直接重载subView的drawRect方法
如果定制cell的过程中需要多个小的元素的话,最好直接对要显示的多个项目进行绘制,而不是采用添加多个subView。
e、tableView的delegate的方法如非必要,尽量不要实现
tableView的delegate中的很多函数提供了对cell属性的进一步控制,比如每个cell的高度,cell是否可以编辑,支持的edit风格等,如非必要最好不要实现这些方法因为快速的调用这些方法也会影响性能。
(以上5点建议,前三点来自苹果官方文档,后两点我自己加的,有什么不对的地方,欢迎指正)
a、重用cell
我们都知道申请内存是需要时间,特别是在一段时间内频繁的申请内存将会造成很大的开销,而且上tebleView中cell大部分情况下布局都是一样的,这个时候我们可以通过回收重用机制来提高性能。
b、避免content的重新布局
尽量避免在重用cell时候,对cell的重新布局,一般情况在在创建cell的时候就将cell布局好。
c、使用不透明的subView
在定制cell的时候,将要添加的subView设置成不透明的会大大减少多个view层叠加时渲染所需要的时间。
d、如果方便,直接重载subView的drawRect方法
如果定制cell的过程中需要多个小的元素的话,最好直接对要显示的多个项目进行绘制,而不是采用添加多个subView。
e、tableView的delegate的方法如非必要,尽量不要实现
tableView的delegate中的很多函数提供了对cell属性的进一步控制,比如每个cell的高度,cell是否可以编辑,支持的edit风格等,如非必要最好不要实现这些方法因为快速的调用这些方法也会影响性能。
(以上5点建议,前三点来自苹果官方文档,后两点我自己加的,有什么不对的地方,欢迎指正)
相关文章推荐
- 搭建java,oracle,plsql开发环境
- 数据结构:链表 >> 链表按结点中第j个数据属性排序(冒泡排序法)
- vue.js学习
- 7月英语总结
- js金额计算解决精度问题
- HDOJ 1873 看病要排队(优先队列)
- Android:onItemClickListener无效
- 【Android】揭秘如何利用Service与线程制造安卓后台通知栏推送
- C# 基于正则表达式的字符串验证
- Haproxy 生产环境配置详解
- 黑马程序员-----------C语言基础-----------iOS开发前奏
- SCU_1114_数字三角
- UIImageView动画
- java 文件读取大全
- jquery如何获得ckeditor编辑器的值
- 设计模式之Flyweight
- oracle基础学习
- 关于DUILIB的遮罩,控件穿透以及其应用的分析实践
- 面试题:java中的访问控制符优先级和输出6+6+"java"+6+6的结果
- 投资方案的编写