iOS app 非常人性化,不仅需要合理美观的界面设计,还需要各种 UI 才能响应,相信大家对那种拖拽的应用程序没有好印象。还记得12306,那个速度,相信大家都受不了。为了提高 iOS 的速度,我将介绍一些我实践过的提供 iOS 程序效率的方法,并与大家分享,希望得到更多的反馈和建议。
1.计算代码运行时间:相信数据,不要太相信感觉。但是,请注意模拟器和真实机器之间的区别。
最简单的工具是 ,但精度不太好。
*=[[]];/
/...=[[]e:];NSLog(@“>>>>>>>>>>=%f”,);
或者把运行的代码放在下面方法的block参数中,然后返回运行的时间:
#//e()(void(^block)(void)){; if((&info)!=)-1.0; =(); block(); =(
); =end-start; =*info.numer/info.denom;()nanos/; }
2、善用绩效分析工具。
XCode附带了许多强大的分析工具,包括静态工具和运行时工具。
3. 关于图片
优先选择 [ :@“”];
与 [ 分配]le:] 和 [ 分配 [:]] 相比, [ :]
效率更高,因为iOS会自带缓存通过[ :]加载图片,但这种方法有一个缺点,就是只能加载应用中的图片,比如通过网络下载的图片。我习惯做的是自定义一个类并自己缓存图像。
尽量不要使用全屏大小的背景图像;使用图像而不是硬编码;图片应该尽可能狭窄,然后延伸到实际情况。
4. 对于结构复杂的视图,请使用自绘图而不是从笔尖加载。
5、用于、复用细胞;减少小区初始化和延迟加载的工作量;自定义复杂单元格时,请使用自绘图;缓存尽可能多的内容,包括单元格高度;使单元格尽可能不透明;避免使用图像功能,例如 .
6.在螺纹中使用。
7. 在空闲时运行一些不太重要的任务。
-(void)od{
//}-(void){[[]::@(od)name:@“”:nil]; *=[:@“”:nil];[[]:泰尔:];}
8. 不要在 中进行耗时的操作。
:在视图显示之前调用,为了效率,不要在此方法中处理复杂耗时的事情;在此方法中,只应设置简单的内容,例如视图的显示属性,例如背景颜色、字体等。否则,用户会明显感觉到视图显示缓慢。
9. 使用多线程延迟加载资源。例如,在普通网络镜像展示中,先使用默认镜像,然后启动线程下载网络镜像,等镜像下载完成后替换默认镜像。
10. 关于后台任务
系统进入后,通常只有10分钟的运行时间,所以有很多注意事项:
11. 如果关键代码使用 C/C++/asm 更有效,请使用 C/C++/asm。
12. 如果在循环次数非常多的循环中使用方法,请在进入循环之前使用方法 IMP,然后直接在循环主体中使用 IMP。
13、关于内存释放
释放 ing 中的内存,如缓存图像、视图等,记得调用 [ ing]。清理函数 ing,两者都是在方法末尾调用的方法。
14.提高APP的加载速度
避免使用静态初始化(包括静态C++对象)和在加载时运行的代码(如 +(void) load{})将导致在 Main 函数之前运行额外的代码。
16. 使用缓存空间交换时间。缓存是一种常见的时空交付,可提供性能,并且可以在很多场合使用。
尝试缓存可重用的对象,例如表单元格、日期、正则表达式、语句等。
17. 关于数据库
缓存常用语句;优化数据库查询语句,使用sum查找性能较差的语句;如果可能,请缓慢缓存查询结果。
在使用将 SQL 查询编译为字节码时,要使用绑定,请重用语句中已有的那些查询。
原文来自: