A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© huijiadanipp 中级黑马   /  2016-2-17 21:33  /  871 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

内存管理
管理范围:任何继承于 NSObject的对象
原理:
每一个对象都有引用计数器
当使用alloc new 和 copy创建对象时引用计数器被设置为1
给对象发送一条retain消息 ,引用计数器加1      —
给对象发送一条relrase消息,引用计数器会减1
计数器为0时,对象会被回收
只要用alloc new创建新对象,那么你就有责任做一次release
不可以再操作已经被释放的对象,不然会发生野指针错误
在对象释放前操作对象
你想使用某个对象,就应该放对象的计数器+1
你不想使用某个对象,就应该让对象的计数器-1

成员变量内存管理(如果成员变量是对象,才需要管理)
哪里有 alloc new 哪里有 release
release 旧对象
retain新对象
dealloc 方法就是释放当前拥有的所有对象

nonatomic:性能高 多线程不加锁   —诺米拖米克
atomic 性能低,多线程加锁      -啊拖你克

autorelease 会将对象放到一个自动释放池中
当自动释放池被销毁,会将池里的所有对象的一次release操作

7 个回复

倒序浏览
可以可以
回复 使用道具 举报
这汉字注音我惊呆了
回复 使用道具 举报

嘿嘿{:2_36:}!!
回复 使用道具 举报
佛聆 发表于 2016-2-18 22:03
这汉字注音我惊呆了

嘛意思...??
回复 使用道具 举报

很6呀  嘿嘿
回复 使用道具 举报

哦  你说的是账号名啊....
回复 使用道具 举报
这个英文的中文发音很有特点啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马