手动内存管理基本概念

创建对象:
1.分配内存空间,村处对象
2.初始化成员变量
3.返回对象的指针地址

引用计数器:
1.对象在完成创建的同时,内部会自动创建一个引用计数器,这个计数器是系统用来判断是否回收对象的唯一依据,当饮用计数retainCount = 0 时,系统就会回收掉当前对象
2.[ 对象 release] retainCount - 1
3.[ 对象 retain ] retainCount + 1,并且返回self指针
4.我们的饮用计数retainCount = 0时对象就会被销毁
5.deallloc函数,当一个对象要被销毁的时候,系统会自动调用dealloc函数,通知对象你将会被销毁

内存管理原则(配对原则):
只要出现了new,alloc,retain,就一定配对出现一个release或者autorelease

手动内存管理研究的问题:
1.野指针操作
2.内存泄露
野指针:内存被释放后的对象(调用了release方法)
避免野指针的方法:把不再使用的对象赋值为nil

内存泄漏:不再被使用的对象,一直在内存中没有被释放掉(只要retainCount != 0就会一直在内存中)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 内存管理 简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与a...
    丶逐渐阅读 2,003评论 1 16
  • 内存管理ARC处理原理ARC是Objective-C编译器的特性,而不是运行时特性或者垃圾回收机制,ARC所做的只...
    阳明AGI阅读 361评论 0 3
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,136评论 1 32
  • 内存管理ARC处理原理ARC是Objective-C编译器的特性,而不是运行时特性或者垃圾回收机制,ARC所做的只...
    阳明AGI阅读 490评论 1 3
  • 内存管理的基本范围和概念. 程序运行过程中药创建大量的对象, 和其他高级语言类似,在ObjC中对象存储在堆区,程序...
    ValienZh阅读 903评论 0 2