UITableView 性能优化
来源:互联网 发布:鬼故事粤语软件 编辑:程序博客网 时间:2024/06/08 17:28
首先,UITableViewCell的创建是很消耗性能的,所以cell一定要重用,以及上面的各种控件尽可能的重用。
如果用不到就隐藏,别删除留着用。
iOS7提供了一个新的代理函数tableView:estimatedHeightForRowAtIndexPath他会在第一次进入的时候调用,我们可以在这个函数中给每个cell预估一个高度,然后当滑动到相应的cell的时候才会去调用tableView:heightForRowAtIndexPath这样就可以避免第一次就计算所有的cell的高度的问题,尽可能快的加载。
但是这样做会带来一些问题,就是用户没有滑动到全部的cell的话,那么整个tableview的展示高度就是不准确的,因为里面含有你预估的cell高度。所以这个时候,如果使用函数滑动到指定的坐标的时候就会出问题。所以尽量避免这个问题。
可是实现开发中我们是需要兼容iOS6的,所以光是这个方法不行的。
我们给每个cell的数据model(mvc中的m)添加一个height的属性,每次tableView:heightForRowAtIndexPath执行的时候,首先去cell对应的model中拿height值,如果没有就计算然后存进去。这样就可以保证每个cell的高度只会算一遍,以后都只是取值而已。如果你的cell存在展开收缩这种高度会变的情况,在执行完展开的逻辑后先把height属性置空,再去刷新这个cell,就可以保证cell高度的正确性。
优化的思路就是缓存、重用
0 0
- 优化UITableView性能
- 如何优化UITableView性能
- 优化UITableView性能
- 优化UITableView性能
- 优化UITableView的性能
- 优化UITableView性能
- 优化UITableView性能
- 优化UITableView 性能
- 优化UITableView性能
- 优化UITableView性能
- 如何优化UITableView性能
- 优化UITableView性能
- 优化UITableView性能
- 优化UITableView性能
- 优化UITableView性能
- 优化UITableView性能
- 优化UITableView性能
- 优化UITableView性能
- NSDate 的一些操作
- 盘点2014不容错过的UI源码
- OpenCV学习:基本绘图
- 获取最耗时的存储过程
- 韦东山虚拟摄像头驱动在ubuntu12.04上的修改与测试
- UITableView 性能优化
- Java中的继承与组合
- TCP为什么需要3次握手与4次挥手
- 通往黑马 —— Java学习笔记(2)
- 27个iOS开发中的小技巧
- C++对txt文件的操作
- git使用手册
- Oracle定义varchar2()类型存储汉字的长度问题
- python 爬取今日哈工大内容