黑马程序员技术交流社区

标题: 内存管理-要点总结 [打印本页]

作者: yuanlingqi    时间: 2014-11-8 20:40
标题: 内存管理-要点总结
本帖最后由 yuanlingqi 于 2014-11-8 20:52 编辑

1.每个oc对象内部都有引用计数器来管理内存,计数器占4个字节;
2.retain 方法计数器+1,返回对象本身;release 方法计数器-1;retainCount返回计数器值
3.对象销毁方法dealloc
4.ARC计数器自动管理,练习时需要关闭
5.僵尸对象:所占内存已被回收的对象
6.野指针:指向僵尸对象(不可用内存)的指针
7.空指针:没有指向任何对象的指针
8.内存使用原则,谁创建谁释放,谁retain谁release
9.四种方式访问变量
  (直接访问,self->_xxx),(self.xxx,[self xxx])
10.set方法,先判断赋值对象是否相等后再进行release和retain,防止野指针错误;
11.尽量不要在release之后,再去操作对象


作者: jinzhinan    时间: 2014-11-8 21:04
总结不错,谢谢分享
作者: doudou33420    时间: 2014-11-9 07:41
还好 把老师教的东西都总结出来了  不过第9点访问变量存在问题
self.xxx,[self xxx]  你是想表达使用getset方式访问变量;
但初学者和其他语言转过来的学员会以为这是直接使用点语法访问变量, 但实际是访问的getset方法
建议更正一下
作者: chri_liu    时间: 2014-11-11 09:06
总结不错
作者: 哈利梅    时间: 2014-11-11 09:30
不错,其实看视频是一个方面,另一个方面就是多多练习,你说的练习时要关闭arc但是,xcode5.1.1以后的版本,我感觉就没有这个选项了,也不知道是不是我没有找到,总之,没有关闭arc那一项了,所以还是多多练习,知识点知道即可,用的时候不一定必须要这样,加油~
作者: whbsspu    时间: 2014-11-11 09:33
mark一下
作者: yuanlingqi    时间: 2014-11-11 12:58
本帖最后由 yuanlingqi 于 2014-11-11 13:00 编辑
哈利梅 发表于 2014-11-11 09:30
不错,其实看视频是一个方面,另一个方面就是多多练习,你说的练习时要关闭arc但是,xcode5.1.1以后的版本 ...

xcode新版本,新项目,默认就给你开启了,你需要在工程编译选项里关掉。
作者: zhaihaohk    时间: 2014-11-11 13:12
学习了:lol




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2