1,iphone,ipad 中尽量不用自动释放池。

2,假如使用了自动释放池,就得小心:在每一个事件周期(event cycle)的开始,系统会自动创建一个自动释放池;在每一个事件周期的结尾,系统会自动销毁这个自动释放池。一般情况下,你可以理解为:当你的代码在持续运行时,自动释放池是不会被销毁的,这段时间内你也可以安全地使用自动释放的对象;当你的代码运行告一段落,开始等待用户输入(或者其它事件)时,自动释放池就会被释放掉,池中的对象都会收到一个release消息,有的可能会因此被销毁。新创建的自动释放池位于栈顶,响应autorelease 消息的 对象 跟随栈顶 的自动释放池一起销毁(最新创建的那个)。

3,自动释放而非直接释放,可以帮助你节省一些代码量,提高开发速度。但是它有一个直接的缺点:它延缓了对象的释放,在有大量自动释放的对象时,会占用大量内存资源。因此,你需要避免将大量对象自动释放。并且,在以下两种情况下,你需要手动建立并手动销毁掉自动释放池:

3.1.当你在主线程外开启其它线程时:系统只会在主线程中自动生成并销毁掉自动释放池。

3.2.当你在短时间内制造了大量自动释放对象时:及时地销毁有助于有效利用iPad上有限地内存资源。

iphone 开发内存管理 心得相关推荐

  1. iPhone开发内存管理

    开发iPhone 应用程序并不难,基本上就是三个词 - "memory, memory, memory" .iPhone OS 对内存的要求很严格,有memory leak ,杀掉 ...

  2. 【引用】iPhone开发内存管理

    原文地址:http://www.robinlu.com/blog/archives/392  开发iPhone 应用程序并不难,基本上就是三个词 - "memory, memory, mem ...

  3. iPhone开发内存管理之一

    移动开发的特点:资源的有限性.作为手持设备,iphone的内存与传统的PC不可同日而语,这就要求我们在开发IOS程序的过程中,首要也是最重要的任务就是解决内存释放问题,本文将在网络上搜集的关于内存管理 ...

  4. iphone开发--内存管理

    内存管理是iphone开发中很重要的一个环节,没有处理好会是系统出现很多问题, 很严重的一个就是直接导致程序闪退.因此,内存管理是很让新手头疼的,也是新手晋 级为菜鸟必走的一个环节.今天讨论的主题就是 ...

  5. iphone开发 内存管理

    我一般喜欢在开发的最后阶段,才考虑内存管理 那么就需要好的工具,帮你定位,内存泄露的位置. 经过一段时间的研究,已经完美控制了内存的增长 1.通过查找alloc关键字,自己找出项目中需要释放的内存 2 ...

  6. ios 内存管理 心得

    - alloc, copy, retain会把引用计数+1 - release会把引用计数-1 - 局部变量如果初始化时不是autorelease的,要及时调用release释放,并且赋值为nil否则 ...

  7. iOS开发内存管理总结

    一.retain.copy.assign的区别: 1.retain:当对一个对象A调用retain,然后赋值给B时,对象的引用计数加1,A和B指向同一个内存地址. 2.copy:当对一个对象A调用re ...

  8. iphone objective-c内存管理

    1:retain返回一个id类型的值,通过这种方式,可以嵌套执行带有其他消息带有参数的保留调用,增加对象的保留计数器值,并要求对象执行某种操作,例如:[[car retain]  setTire:ti ...

  9. iphone内存管理的具体问题解决方案

    iPhone 开发内存管理 开发iPhone 应用程序并不难,基本上就是三个词 - "memory, memory, memory" .iPhone OS 对内存的要求很严格,有m ...

  10. iPhone内存管理详细解说(一)

    iPhone内存管理详细解说系列转载来源:http://keywind.me/blog/2011/05/07/iphonenei-cun-guan-li-xiang-xi-jie-shuo-yi/ 感 ...

最新文章

  1. 成功解决sys:1: DtypeWarning: Columns (39,41,42,217) have mixed types.Specify dtype option on import or s
  2. OpenCASCADE绘制测试线束:形状修复命令之转换命令
  3. 实验3 分支语句和循环语句(1)
  4. html调用阅读模式,easyread.js—给网站开启阅读模式html教程
  5. kafak manager + zookeeper + kafka 消费队列快速清除
  6. php curl上传文件$_FILES为空问题
  7. JNI学习积累之三 ---- 操作JNI函数以及复杂对象传递
  8. WM8978移植到imx6或imx8上
  9. 小程序中点击二维码图片预览、长按转发、保存、识别图中二维码
  10. 第三方网络广告平台窘境
  11. python两个表格相同数据筛选_如何将多个表格中数据筛选汇总在一个表格里?
  12. 去水印软件哪个好_去水印工具
  13. 美国的非农数据一般会在几点发布
  14. 销售——LPN(License Plate Number)
  15. power automate功能概述与学习实践(Microsoft Flow)
  16. 获取同花顺数据接口_简单介绍同花顺_数据获取方式(Excel VBA)
  17. PCL学习笔记5-sample consensus采样一致性算法
  18. 网络监控软件PRTG的配置及使用
  19. 学计算机有名学校有哪些,计算机学校哪所有名?
  20. eMule连接到进ed2k网络分析

热门文章

  1. ubuntu18设置屏幕旋转_无线电对讲机,常用电台上中继台设置
  2. android 显示多条数据格式,Multipart上传的进度条,包含多个Android文件
  3. MySQL计算两个日期相差的天数、月数、年数
  4. tomcat启动后连接数据库连接慢的问题
  5. win7系统添加wifi连接到服务器,win7系统设置域账号连接企业内部域wifi的具体方法...
  6. cad多个窗口并排显示_高版本CAD如何显示阵列窗口?
  7. iOS与JS交互之UIWebView协议拦截
  8. JAVA语言基础-面向对象(IO:IO字节流)
  9. kubernetes 升级到1.6
  10. [摘录]第5章 谈判原则