iPhone内存处理小结

上传人:cl****1 文档编号:489518091 上传时间:2022-12-28 格式:DOC 页数:2 大小:23.01KB
返回 下载 相关 举报
iPhone内存处理小结_第1页
第1页 / 共2页
iPhone内存处理小结_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《iPhone内存处理小结》由会员分享,可在线阅读,更多相关《iPhone内存处理小结(2页珍藏版)》请在金锄头文库上搜索。

1、iPhone内存处理小结by Doors.Du on 2009-11-19我们做的是手机开发,在这种资源紧张的设备上开发应用,请时刻提醒自己,“你申请的那块内存释放了吗?”1. Leaks工具没有人比苹果更了解自己,使用X-Code集成的Leaks工具帮助你跟踪内存是一个不错的选择。也许它有时候不能准确的告诉你哪里泄露了,也许有时候它找到了你解决不了的泄露,也许有时候它找不到存在的泄露现象。但要记住的有三点,第一就是它找到的是对的;第二是它能帮你节省时间,第三,它是在运行时检查的,你不执行到某些代码,是检查不到的。例如:-(IBAction)btnPressed NSString* s = N

2、SString alloc initWithFormat:%d, year; if (.) if (.) . else . else . s release;看起来是没什么问题,假设这个函数有100多行,其中任意一个分支或多个分支return了,结果是什么,Leak。这个时候如果用你那本来就很疲累的眼睛去分析代码,恐怕将会大大加快你告别计算机的速度。2. 熟悉Objective-CObjC是一种牺牲了一定的安全性和执行效率来换取简洁的编码风格的计算机语言。熟悉掌握它的特性是帮你提高代码质量的不二法门,正所谓“知己知彼,百战不殆”,使用前了解它,用时间测试它,等你觉得它可以称为你的朋友时,信任它

3、并使用它。property (assign)property (retain)property (copy)这三个属性很容易给工程带来麻烦,使用前搞清楚它们分别是干什么的,assign表示生成的设置方法不会retain入参,内存引用计数不增加;retain属性表示系统生成的设置方法会将入参retain一次,内存引用计数加1,在通过设置器或者点操作符为这种对象赋值后要将入参或者等号右值release以保证引用计数能在你不需要使用这块内存的时候变为0并交给系统收回它;copy属性是深拷贝,它会将入参的地址复制一份,调用设置器对这种属性的成员赋值后,入参或者等号右值可以释放或者修改,对已经经过赋值的

4、成员属性没有影响。3. 高质量的设计个人认为,设计决定着一个工程的完成质量,长着双手会写代码的程序员全世界多的是,但象Linux等优秀的设计却在全宇宙都找不到几个。世界上没有完美的东西,但我们必须要让自己手上出来的东西更趋近于完美。每个对象负责解决自己所获得的空间,每个变量在自己的生命域内要释放自己的空间。因此,好的设计要把接口之间的衔接,参数之间的传递设计好,不然,内存泄露的问题必将困扰着你,并且会使得代码的耦合性增加。4. 相信自己验证过的事情相信会写代码而不会打字的程序员应该不存在于这个世界,论坛、书籍上教程、秘籍一大堆,不能盲从这些,尤其是论坛中提出的概念,源码要取回来编译调试,文字教

5、程要亲自编写测试代码去验证。不然你也许真的永远不会懂。AutoRelease池是一个很好的证明,书上说了,Autorelease的对象会在返回之后释放,于是我们大量使用了这种方式,结果呢,后来又有书本描述说,这种对象是在AutoRelease池释放的时候才会被释放。心里大惊,试想,这么多的自动释放对象在我们的工程中,这将占用多少内存,赶忙查看代码,寻找传说中的AutoRelease池,发现在main方法里,在我们的UI被执行之前创建,在我们的UI退出之后被释放,几乎失去了意义,于是更多嵌套的AutoReleasePool才出现在代码中。5. SDK文档是最好的帮手SDK文档也是官方出的资料,可以当作是某个框架的自传,不愿意让人了解到或者不太好的东西是不会写出来的,那我们也不要使用。NSArray* ay = NSArray alloc initWithObjects:1, 2;不要问为什么你的应用程序里面就这一句话怎么挂了,SDK上面写的很清楚,ending with nil。如果没有nil作为数组的结尾,你的程序只要执行了这一行代码,一定会挂。6. 好记忆不如烂笔头遇到新知识,当时弄清楚了要记下来,当时没弄清楚也要记下来,将来再慢慢弄。多写代码,代码写多了自然就有印象了。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号