IOS tableView的性能优化(缓存池)
使用缓存池(标识类型)
1.通过 一个 标识 去 缓存池 中寻找可循环得用的cell
2.如果缓存池找不到可循环得用的cell:创建一个新的cell(给cell贴个标识)
3.给cell设置新的数据
本地数据性能优化(实例)
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{ //static 修饰局部变量:可以保证局部变量只分配一次存储空间(只初化一次)
static NSString *ID=@"hero"; //1.通过一个标识去缓存池中寻找可循环利用的cell
UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:ID]; //2.如果没有可循环利用的cell(创建新的cell)
if(cell==)
{
cell= [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ID];
NSLog(@"-----缓存池找不到cell--%d",indexPath.row);
}
//3.给cel设置新的数据
//取出模型
MJHero *hero=self.hero[indexPath.row]; //设置cell的数据
cell.textLabel.text=hero.name;
cell.detailTextLabel.text=hero.intro;
cell.imageView.image=[UIImage imageNamed:hero.icon]; //设置cell右边指示器的类型
cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator; return cell;
}
IOS tableView的性能优化(缓存池)的更多相关文章
- TableView的性能优化
		
现在市场上的iOS应用程序界面中使用最多的UI控件是什么? 答案肯定是UITableView,几乎每一款App都有很多的界面是由UITableView实现的,所以为了做出一款优秀的App,让用户有更好 ...
 - 李洪强iOS开发之性能优化技巧
		
李洪强iOS开发之性能优化技巧 通过静态 Analyze 工具,以及运行时 Profile 工具分析性能瓶颈,并进行性能优化.结合本人在开发中遇到的问题,可以从以下几个方面进行性能优化. 一.view ...
 - 复杂TableView在iOS上的性能优化
		
声明:本文翻译自<iOS performance optimization>,原文作者 Khang Vo.翻译本文纯属为了技术交流的目的,并不具有任何的商业性质,也不得利用本文内容进行商业 ...
 - [iOS Animation]-CALayer 性能优化
		
性能优化 代码应该运行的尽量快,而不是更快 - 理查德 在第一和第二部分,我们了解了Core Animation提供的关于绘制和动画的一些特性.Core Animation功能和性能都非常强大,但如果 ...
 - iOS 25个性能优化/内存优化常用方法
		
1. 用ARC管理内存 ARC(Automatic ReferenceCounting, 自动引用计数)和iOS5一起发布,它避免了最常见的也就是经常是由于我们忘记释放内存所造成的内存泄露.它自动为你 ...
 - iOS开发之性能优化
		
1.避免过于庞大的XIB 当加载XIB的时候把所有的东西都放在了内存里,包括任何的图片:如果有一个不会即刻用到的view,就会浪费宝贵的内存资源了. 当加载一个引用了图片或者声音资源的nib时,nib ...
 - iOS面试-关于性能优化
		
目录 我要给出的建议将分为三个不同的等级: 入门级. 中级和进阶级: 入门级(这是些你一定会经常用在你app开发中的建议) 1. 用ARC管理内存2. 在正确的地方使用reuseIdentifier3 ...
 - 大厂常问iOS面试题--性能优化篇
		
1.造成tableView卡顿的原因有哪些? 1.最常用的就是cell的重用, 注册重用标识符 如果不重用cell时,每当一个cell显示到屏幕上时,就会重新创建一个新的cell 如果有很多数据的时候 ...
 - iOS App 启动性能优化
		
1. App启动过程 解析Info.plist 加载相关信息,例如如闪屏 沙箱建立.权限检查 Mach-O加载 如果是胖二进制文件,寻找合适当前CPU类别的部分 加载所有依赖的Mach-O文件(递归调 ...
 
随机推荐
- Python数据分析之pandas学习(基础操作)
			
一.pandas数据结构介绍 在pandas中有两类非常重要的数据结构,即序列Series和数据框DataFrame.Series类似于numpy中的一维数组,除了通吃一维数组可用的函数或方法,而且其 ...
 - NETSpider 网络蜘蛛采集工具
			
NETSpider网站数据采集软件是一款基于.Net平台的开源软件.软件部分功能是基本Soukey软件进行开发的.这个版本采用VS2010+.NET3.5进行开发的.NETSpider采摘当前提供的主 ...
 - java——Class、动态加载
			
Class和Object混淆了? Object: 任何类都是Object类的子类 Class: 任何类都是Class的实例对象 Class可以说是一种特殊的类,它表示的是类类型,Object仍然是Cl ...
 - spark常用算子总结
			
算子分为value-transform, key-value-transform, action三种.f是输入给算子的函数,比如lambda x: x**2 常用算子: keys: 取pair rdd ...
 - bootstrap-datepicker控件中文 ,只显示年和只显示月份
			
插件下载地址 https://github.com/uxsolutions/bootstrap-datepicker html <link href="css/bootstrap-da ...
 - Qt 日志输出
			
Qt学习(3)日志输出 普通的打印输出 用 QtCreator 开发 Qt 程序时, 经常需要向控制台打印一些参数.有时候是查看对象的属性是否被正确设置,有时候是查看程序是否执行了某一段代码,或者执行 ...
 - HDU 4185 ——Oil Skimming——————【最大匹配、方格的奇偶性建图】
			
Oil Skimming Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit ...
 - Winform窗体“空闲事件”
			
Application.Idle += Application_Idle; void Application_Idle(object sender, EventArgs e){ } 当应用程序完成处理 ...
 - Graphics绘制类及打印机设置相关
			
Graphics 有两个多个方法 这里面介绍3个: 1.Graphics.drawString():绘制.画字符串........... e.Graphics.DrawString("新乡市 ...
 - AutoResetEvent  2
			
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...