- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IiOS应用性能调优的25个建议和技巧
iOS应用性能调优的25个建议和技巧
本文来自iOS Tutorial Team 的 Marcelo Fabri,他是Movile的一名 iOS 程序员。这是他的个人网站:/,你还可以在Twitter上关注@marcelofabri_。
性能对 iOS 应用的开发尤其重要,如果你的应用失去反应或者很慢,失望的用户会把他们的失望写满App Store的评论。然而由于iOS设备的限制,有时搞好性能是一件难事。开发过程中你会有很多需要注意的事项,你也很容易在做出选择时忘记考虑性能影响。
这正是我写下这篇文章的原因。这篇文章以一个方便查看的核对表的形式整合了你可以用来提升你app性能的25条建议和技巧。
请耐心读完这篇文章,为你未来的app提个速!
注意:每在优化代码之前,你都要注意一个问题,不要养成”预优化”代码的错误习惯。时常使用Instruments去profile你的代码来发现需要提升的方面。Matt Galloway写过一篇很棒的如何利用Instruments来优化代码的文章。
还要注意的是,这里列出的其中一些建议是有代价的,所建议的方式会提升app的速度或者使它更加高效,但也可能需要花很多功夫去应用或者使代码变得更加复杂,所以要仔细选择。
目录
我要给出的建议将分为三个不同的等级: 入门级、 中级和进阶级:
入门级(这是些你一定会经常用在你app开发中的建议)
1. 用ARC管理内存
2. 在正确的地方使用reuseIdentifier
3. 尽可能使Views透明
4. 避免庞大的XIB
5. 不要block主线程
6. 在Image Views中调整图片大小
7. 选择正确的Collection
8. 打开gzip压缩
中级(这些是你可能在一些相对复杂情况下可能用到的)
9. 重用和延迟加载Views
10. Cache, Cache, 还是Cache!
11. 权衡渲染方法
12. 处理内存警告
13. 重用大开销的对象
14. 使用Sprite Sheets
15. 避免反复处理数据
16. 选择正确的数据格式
17. 正确地设定Background Images
18. 减少使用Web特性
19. 设定Shadow Path
20. 优化你的Table View
21. 选择正确的数据存储选项
进阶级(这些建议只应该在你确信他们可以解决问题和得心应手的情况下采用)
22. 加速启动时间
23. 使用Autorelease Pool
24. 选择是否缓存图片
25. 尽量避免日期格式转换
无需赘述,让我们进入正题吧~
初学者性能提升
这个部分致力于一些能提高性能的基本改变。但所有层次的开发者都有可能会从这个记录了一些被忽视的项目的小小的性能备忘录里获得一些提升。
1. 用ARC管理内存
ARC(Automatic Reference Counting, 自动引用计数)和iOS5一起发布,它避免了最常见的也就是经常是由于我们忘记释放内存所造成的内存泄露。它自动为你管理retain和release的过程,所以你就不必去手动干预了。
下面是你会经常用来去创建一个View的代码段:
1
2
3
4 UIView *view = [[UIView alloc] init];
// ...
[self.view addSubview:view];
[view release];
忘掉代码段结尾的release简直像记得吃饭一样简单。而ARC会自动在底层为你做这些工作。
除了帮你避免内存泄露,ARC还可以帮你提高性能,它能保证释放掉不再需要的对象的内存。这都啥年代了,你应该在你的所有项目里使用ARC!
这里有一些更多关于ARC的学习资源:
Apple’s official documentation
Matthijs Hollemans’s Beginning ARC in iOS Tutorial
Tony Dahbura’s How To Enable ARC in a Cocos2D 2.X Project
If you still aren’t convinced of the benefits of ARC, check out this article on eight myths about ARC to really convince you why you should be using it!
ARC当然不能为你排除所有内存泄露的可能性。由于阻塞, retain 周期, 管理不完善的CoreFoundation object(还有C结构)或者就是代码太烂依然能导致内存泄露。
这里有一篇很棒的介绍ARC不能做到以及我们该怎么做的文章 /blog/2013/1/19/blocks-operati
您可能关注的文档
- IGIS的定义.doc
- IGHOST使用方法详细图解教程.docx
- I20132014学年度下学期期中高二文政治试题.doc
- [2005年湖北高考数学理试题含答案.doc
- I20132014学年第二学期八年级体育教师家访读书综合实践个人发展工作计划.doc
- I20132014学年度第一学期期末考试卷靖江.doc
- IGJ—国家“八五”科技计划和十年规划.doc
- IGMAT数学概念和名词.doc
- I20132014学年第二学期形势与政策课.docx
- IGianvitoRossi2013秋冬鞋履.docx
- 2025年新疆阿勒泰地区检察机关面向社会招聘聘用制书记员笔试高频难、易错点备考题库及完整答案详解1套.docx
- 2025年广西工人医院(广西职业病防治研究院)招聘36人笔试备考题库及参考答案详解.docx
- 2025年广东警官学院招聘博士研究生23人笔试备考题库含答案详解.docx
- 2025年广东省特种设备检测研究院江门检测院第一批招聘10人笔试高频难、易错点备考题库附答案详解.docx
- 2025年广东潮州饶平县教育系统招聘教师12人笔试备考题库带答案详解.docx
- 2025年工业和信息化部产业发展促进中心社会招聘笔试高频难、易错点备考题库带答案详解.docx
- 2025年江苏扬州市部分市属事业单位招聘111人笔试高频难、易错点备考题库及参考答案详解1套.docx
- 2025年广西贺州学院高层次人才招聘笔试高频难、易错点备考题库含答案详解.docx
- 2025年徐州市文化广电和旅游局所属事业单位招聘高层次人才笔试备考题库及答案详解1套.docx
- 2025年巴中市检察机关招聘14名聘用制书记员笔试备考题库及答案详解一套.docx
最近下载
- 专题01 定语从句100题(考点串讲)(word版有答案).docx VIP
- 凿井井架设计汇编.doc VIP
- 北京某电力隧道工程投标施工组织设计.doc VIP
- 《【阅读专题2】故物与深情:感受血缘中的亲情》教学课件.pptx VIP
- 人教版九年级英语 课文标注笔记 全册.pdf VIP
- 北京某电力隧道工程(投标)施工组织设计.pdf VIP
- 高压旋喷桩技术交底1 - 桩基础.docx VIP
- 17J008 挡土墙(重力式、衡重式、悬臂式)(最新).pdf VIP
- 《【阅读专题1】忠与孝:体会宗法社会的伦理选择之难》教学课件 (1).pptx VIP
- 力普LP100说明书PDF_Image_Marked.pdf VIP
文档评论(0)