1.内存管理的范围:
管理范围:管理任何继承NSObject的类的对象,对其他基本数据 类型无效
为什么继承了NSObject的对象需要进行内存管理?
本质原因是因为对象和其他数据类型在系统中的存储空间不一样,其它局部变量主要存放于栈中,而对象存储于堆中,当代码块结束时这个代码块中涉及 的所有局部变量会被回收,指向对象的指针也被回收,此时对象已经没有指针 指向,但依然存在于内存中,造成内存泄露
栈区、堆区、bss段、数据段、代码段
对象是程序运行时生成的,存储在堆区,内存管理主要是对堆区的对象进行管理(因为其他区域的变量和数据,系统会自己处理,堆区系统处理不了,只能我们自己处理) |
|