- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
25个增强iOS应用程序性能的提示和技巧(初级篇).pdf
beyo ndv ince nt .co m http://beyo ndvincent.co m/20 13/04/06/25个增强io s应用程序性能的提示和技巧-初级篇/#mainthread
25个个增增强强 iOS应应用用程程序序性性能能的的提提示示和和技技巧巧 — 初初级级篇篇
作者 Beyo ndVincent
6 四月 2013
6条评论
_________________________________________
本文由破船译 :raywenderlich
转载请注明出处 :Beyo ndVincent 的博客
_________________________________________
在开发iOS应用程序时 ,让程序具有 良好的性能是非常关键的。这也是用户所期望的 ,如果你的程序运行迟钝或缓
慢 ,会招致用户的差评。
然而由于iOS设备的局限性 ,有时候要想获得 良好的性能 ,是很困难的。在开发过程中 ,有许多事项需要记住 ,并
且关于性能影响很容易就忘记。
这就是为什么我要写这篇文章 !本文收集了25个关于可以提升程序性能的提示和技巧。
目目录录
我把性能优化技巧分为3个不同的等级 :初级、中级和高级 :
初级
在开发过程中 ,下面这些初级技巧需要时刻注意 :
1. 使用ARC进行内存管理
2. 在适当的情况下使用reuseIdent if ier
3. 尽可能将View设置为不透明 (Opaque )
4 . 避免臃肿的XIBs
5. 不要阻塞主线程
6. 让图片的大小跟UIImageView一样
7. 选择正确的集合
8. 使用GZ IP压缩
初初级级性性 能能提提 升升
本部分内容介绍几本的程序性能提升技巧。其实所有级别的开发者都能从中获益。
1) 使用ARC进行内存管理
ARC是在iOS 5中发布的 ,它解决了最常见的内存泄露问题——也是开发者最容易健忘的。
ARC的全称是“Aut o mat ic Ref erence Co unt ing”—— 动引用计数 ,它会 动的在代码中做ret ain/release工作 ,
开发者不用再手动处理。
下面是创建一个View通用的一些代码块 :
1. UIV iew *view = [[UIV iew alloc] init ];
2. // ...
3. [self .view addSubview:view];
. [view release];
在上面代码结束的地方很容易会忘记调用release。不过当使用ARC时 ,ARC会在后台 动的帮你调用release。
ARC除了能避免内存泄露外 ,还有助于程序性能的提升 :当程序中的对象不再需要的时候 ,ARC会 动销毁对
象。所以 ,你应该在工程中使用ARC。
下面是一些学习ARC很棒的一些资源 :
值得注意的是 ,ARC并不能避免所有的内存泄露。使用ARC之后 ,工程中可能还会有内存泄露 ,不过引起这
些内存泄露的主要原因是 :blo ck ,ret ain循环 ,对Co reFo undat io n对象 (通常是C结构 )管理不善 ,以及
真的是代码没写好。
这里有一篇文章是介绍哪些问题是ARC不能解决的 — 以及如何处理这些问题。
2) 在适当的情况下使用reuseIdent if ier
在iOS程序开发中一个普遍性的错误就是没有正确的为
UITableViewCells 、UICo llect io nViewCells和
UITableViewHeaderFoot erViews设置reuseIdent if ier。
为了获得最佳性能 ,当在t ableView:cellFo rRowAt IndexPat h:方法
中返回cell时 ,t able view的数据源一般会重用UITableViewCell对
象。t able view维护着UITableViewCell对象的一个队列或者列表 ,
这些数据源已经被标记为重用了。
如果没有使用reuseIdent if ier会发生什么 ?
如果你在程序中没有使用reuseIdent if ier ,t able view每次显示一
个row时 ,都会配置一个全新的cell。这其实是一
文档评论(0)