一、名词分类
1 拥有者:(变量,实例,函数,变量的作用域)
2 被拥有者:(变量,实例,函数,变量的作用域)
3 生成 持有 释放 销毁。(拥有=生成+持有)
4 alloc,new,copy只有这三种基本的方法是生成并持有对象。
5 retain 持有对象 release释放对象 dealloc销毁对象
6 autorelease 在对象超出指定生存范围后自动释放(指定生存范围外=作用域外+作用域内对象有效)
二、关系
1 对象的环境生成并持有对象+释放对象+控制对象的销毁
2 对象本身负责销毁自己
3 “=”号 不会持有
4 对象的拥有权(注意是拥有权)是可以转接的
5 函数的return就是拥有权转接的一种
6 变量 函数有编译器自己管理内存的使用,我们需要考虑的就是实例,变量作用域的内存管理了
总结:对象的环境拥有对象,并管理对象的生活,但是对象的销毁由对象自身处理
PS:内存问题,其实就是一个使用的对象是否存在内存中的问题
常见的三种问题:
1 对象被销毁了,而你去使用他。
2 对象被销毁两次
3 对象销毁不掉