iOS应用程序性能的提示和技巧(上)
作者:网络转载 发布时间:[ 2013/5/9 12:08:45 ] 推荐标签:
在开发iOS应用程序时,让程序具有良好的性能是非常关键的。这也是用户所期望的,如果你的程序运行迟钝或缓慢,会招致用户的差评。
然而由于iOS设备的局限性,有时候要想获得良好的性能,是很困难的。在开发过程中,有许多事项需要记住,并且关于性能影响很容易忘记。
这是为什么我要写这篇文章!本文收集了25个关于可以提升程序性能的提示和技巧。
目录
我把性能优化技巧分为3个不同的等级:初级、中级和高级:
初级
在开发过程中,下面这些初级技巧需要时刻注意:
使用ARC进行内存管理
在适当的情况下使用reuseIdentifier
尽可能将View设置为不透明(Opaque)
避免臃肿的XIBs
不要阻塞主线程
让图片的大小跟UIImageView一样
选择正确的集合
使用GZIP压缩
初级性能提升
本部分内容介绍几本的程序性能提升技巧。其实所有级别的开发者都能从中获益。
1) 使用ARC进行内存管理
ARC是在iOS 5中发布的,它解决了常见的内存泄露问题——也是开发者容易健忘的。
ARC的全称是“Automatic Reference Counting”——自动引用计数,它会自动的在代码中做retain/release工作,开发者不用再手动处理。
下面是创建一个View通用的一些代码块:
UIView *view = [[UIView alloc] init];// ...[self.view addSubview:view];[view release];
在上面代码结束的地方很容易会忘记调用release。不过当使用ARC时,ARC会在后台自动的帮你调用release。
ARC除了能避免内存泄露外,还有助于程序性能的提升:当程序中的对象不再需要的时候,ARC会自动销毁对象。所以,你应该在工程中使用ARC。
下面是一些学习ARC很棒的一些资源:
苹果的官方文档
Matthijs Hollemans的初级ARC
Tony Dahbura的如何在Cocos2D 2.X工程中使用ARC
如果你仍然不确定ARC带来的好处,那么看一些这篇文章:8个关于ARC的神话——这能够让你相信你应该在工程中使用ARC!
值得注意的是,ARC并不能避免所有的内存泄露。使用ARC之后,工程中可能还会有内存泄露,不过引起这些内存泄露的主要原因是:block,retain循环,对CoreFoundation对象(通常是C结构)管理不善,以及真的是代码没写好。
这里有一篇文章是介绍哪些问题是ARC不能解决的 — 以及如何处理这些问题。
2) 在适当的情况下使用reuseIdentifier
在适当的情况使用reuseIdentifier
在iOS程序开发中一个普遍性的错误是没有正确的为UITableViewCells、UICollectionViewCells和UITableViewHeaderFooterViews设置reuseIdentifier。
为了获得佳性能,当在tableView:cellForRowAtIndexPath:方法中返回cell时,table view的数据源一般会重用UITableViewCell对象。table view维护着UITableViewCell对象的一个队列或者列表,这些数据源已经被标记为重用了。
如果没有使用reuseIdentifier会发生什么?
如果你在程序中没有使用reuseIdentifier,table view每次显示一个row时,都会配置一个全新的cell。这其实是一个非常消耗资源的操作,并且会影响程序中table view滚动的效率。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11