oc----内存管理之内存释放原则
2015-08-20 11:06
127 查看
内存释放原则:
谁创建,谁释放;
由谁创建,由谁释放;
在哪创建,在哪释放;
(1)无论声明了几个对象指针,都要一一调用release方法进行解除绑定;创建了哪个指针,就由哪个指针调用release方法。
(2)在哪进行对象指针的创建,在执行操作之后就要在同一块{}
即域中进行指针的release方法的调用,在出域之前对它进行释放。
(3)
如果一个对象指针所指向的对象中有一个或多个其它类的对象作为 自己的成员,这时就需要重写父类的dealloc方法,并在dealloc方法内进行它的所有成员指针release方法的一一调用。因为是这个复合类的成员,属于它自己的一部分就要由它自己来进行释放。
重写dealloc方法时,必须保证不仅要释放自己实例变量所占的空间,而且也要释放继承的变量所占的空间,为此,你可以通过向super发送dealloc来实现这个操作
-(void) dealloc
{
[origin release];
[super dealloc]
}
谁创建,谁释放;
由谁创建,由谁释放;
在哪创建,在哪释放;
(1)无论声明了几个对象指针,都要一一调用release方法进行解除绑定;创建了哪个指针,就由哪个指针调用release方法。
(2)在哪进行对象指针的创建,在执行操作之后就要在同一块{}
即域中进行指针的release方法的调用,在出域之前对它进行释放。
(3)
如果一个对象指针所指向的对象中有一个或多个其它类的对象作为 自己的成员,这时就需要重写父类的dealloc方法,并在dealloc方法内进行它的所有成员指针release方法的一一调用。因为是这个复合类的成员,属于它自己的一部分就要由它自己来进行释放。
重写dealloc方法时,必须保证不仅要释放自己实例变量所占的空间,而且也要释放继承的变量所占的空间,为此,你可以通过向super发送dealloc来实现这个操作
-(void) dealloc
{
[origin release];
[super dealloc]
}
相关文章推荐
- 计算机操作系统磁盘调度
- tatableView 刷新
- 【LeetCode】217. Contains Duplicate
- 如何正确的将J2ee项目部署到Tomcat
- shell变量详解
- 欢迎使用CSDN-markdown编辑器
- 智能绑定微信公众号功能是如何实现的
- HTTPS和HTTP的区别
- Android Fragment 你应该知道的一切
- 数据库三范式详解
- Javascript(一)-02-(Js和html相结合的方式一二)
- Android(java)学习笔记181:Android 服务的应用,在Activity中实现背景音乐播放
- HDU 2577 How to Type(DP+模拟)
- 关于对KindEditor官网demo的上传本地图片upload_json.jsp的改进
- 天声人語 20150820
- openwrt U盘热插拔
- 动态的向数组中添加值及获取datatable的所有列名
- oc----分类
- Javascript(一)-01-(概述和Java的区别)
- java基础知识