ios开发笔记(三)—— UITableView的性能优化
来源:互联网 发布:mac删除快捷键 编辑:程序博客网 时间:2024/05/20 13:12
ios应用程序在创建UITableView的时候会只在当前视图中创建部分cell,这是apple已经为开发者优化的一部分。
然而,在拖动的时候就会重复调用方法 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
一半的做法都是在这个方法中alloc一个新的cell出来然后再从数据源拉取数据并显示,但是在数据较为庞大的时候就会不断向机器申请内存,严重时会影响用户体验
优化思路:
在屏幕中移除cell的时候将cell放入到缓冲池中,在即将出现cell的时候将缓冲池中cell取出来,重新从数据源申请数据即可。
代码实现:
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ //从缓存池中取出标识为cell1的cell //这样可以避免重新申请内存去创建UITableViewCell static NSString *cellIdentifier = @"cell1"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier ]; if(cell == nil){ cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; }// UITableViewCell *cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil]; cell.textLabel.text = [NSString stringWithFormat:@"%ld",(long) indexPath.row]; return cell;}
0 0
- ios开发笔记(三)—— UITableView的性能优化
- iOS开发性能优化———UITableView的优化
- iOS开发之UITableView的性能优化
- iOS开发:UITableView性能优化
- iOS 优化UITableView的性能
- IOS学习笔记45--UITableView性能优化
- IOS学习笔记45--UITableView性能优化
- IOS学习笔记45--UITableView性能优化
- iOS开发之UITableView性能优化
- iOS系列开发-UITableView性能优化
- UITableView(三)----性能优化
- ios UITableView性能优化
- iOS UITableView性能优化
- iOS-UITableview性能优化
- IOS学习笔记——UITableView(三)
- iOS开发——项目实战总结&UITableView性能优化与卡顿问题
- UITableView 性能优化笔记
- UITableView 性能优化笔记
- Terminator 安装
- android笔记
- 设计CTime类,并且在CTime类中使用运算符重载
- MySQL-Cluster三机集群+HA高可用+负载均衡配置手册
- WIN+UBUNTU13.04 LINUX删除LINUX
- ios开发笔记(三)—— UITableView的性能优化
- OCP 1Z0 052 60
- XML文件的解析--libxml库函数解释
- topcoder_arena下载
- 我不懂什么叫挽留
- flex4 amcharts 去除水印
- 【网站内容和外链哪个重要】
- mysql数据库导入导出及修改数据库名命令
- ruby on rails 学习笔记1(语法理解)