什么是内存管理?其最主要作用和目的?
我百度了一下.是这么回答的-->
内存管理是 : 指软件运行时对计算机内存资源的分配和使用的技术。 作用是 : 为了高效的,快速的分配,并且在适当的时候释放和回收内存资源。
OC内存管理机制
说到OC的内存管理机制 不得不说引用计数
什么是引用计数?以下是我查看的比较合理的答案-->
引用计数是 : 最普遍的垃圾回收策略之一。每一个对象都会有一个额外的计数值来表示当前被引用的次数。有新的引用,这个值就会+1;结束引用,这个值会自动-1,直到计数值为0时,对象所指的内存块就会废弃掉被系统回收,从而达到释放内存的目的。
OC的内存管理机制 我个人感觉有四个词可以解释,"生成","持有","释放","废除".
在"iOS与OS X多线程和内存管理"这本书上看到的对OC内存管理的方式,一共四条
1.自己生成的对象,自己所持有.
2.非自己生成的对象,自己也能持有.
3.不再需要自己持有的对象时释放掉.
4.非自己持有的对象无法释放.
大家经过自己一段时间的开发会发现.其实OC的内存管理方式就是这样.
当然ARC中的内存管理都交给系统来做了 管理方式这篇文章写的比较好 https://www.jianshu.com/p/48665652e4e4 可以做参考 之后小弟也会自己写一篇关系ARC内存管理这一块的文章出来,把自己的见解说出来.
该文章纯属自己看书期间有感而发,加上之前面试遇到过这几个问题,并没有能系统的说出这几个问题的答案的原因才写出来的,如果有小哥看到该篇文章,并发现哪里有问题,可以随时纠正,小弟在此谢过了!