------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
本篇博客为IOS入学学习的第九篇博客,主要记录内容为内存管理,内存管理的对象主要为所有继承了NSObject的对象,对于基本的数据类型则由系统自动管理,即管理的是堆内存,栈内存会自动回收,详细内容如下记录:
一、引用计数器
1> 每个对象内部都会自动分配4个字节的内存来存放引用计数器,并且当对象第一次被创建的时候,引用计数器为1;
2> 当一个对象的引用计数器为0时,对象占用的内存就会被系统回收,如果不为0,在整个程序运行的过程中,对象的内存就不会被回收,一直到程序结束;
3> 引用计数器的操作:给对象发送retain消息,可以使对象的引用计数器+1,另外,retain方法是有返回值的,它的返回值是对象本身;给对象发送release消息,对象计数器-1;给对象发送retainCount消息,乐意获取当前计数器的值;
4> 野指针,指向僵尸对象(不可用内存)的指针;另外,OC中不存在空指针错误,可以给空指针发送消息;