iOS|iOS 是如何管理内存的()
Objective-C内存管理机制
【iOS|iOS 是如何管理内存的()】Objective-C中的对象都是基于引用计数来管理生命周期的。简单来说就是,我们在需要持有一个对象时,调用retain让它的引用计数+1。不需要这个对象的时候,调用release让它的引用计数-1。当一个对象引用计数为0的时候,这个对象就会被自动销毁。
MRC
我们在手动管理引用计数的时候,要明确地控制对象的生命周期,显式的调用每一个retain和release。我们必须清楚的了解每个接口对引用计数的处理(如把一个对象放到数组里引用计数会被+1,用alloc创建的对象的引用计数一开始就是1,用哪些接口创建的对象是已经被调用过autorelease的等等)。在处理引用计数时稍有疏忽,就可能导致程序崩溃或内存泄漏。
ARC
ARC是编译器通过对代码的静态分析,确定对象的生命周期,并在合适的位置自动加上retain和release的机制。把内存管理交给编译器以后,我们不需要再调用任何的retain和release了。ARC减少了MRC带来的思考负担,减少了内存问题出现的可能性,也大幅减少了代码量。
文章图片
扩展阅读:iOS 内存管理&其他常见内存管理算法
推荐阅读
- 前端|vue数据渲染
- 我就是一条咸鱼
- 不负光阴的100天——第三十四天
- 不过还是谢谢你
- java|从2.7.0-2.7.5版本,Dubbo调用链路是如何提升30%性能的
- 杀手的挽歌
- 世间所有相遇都是久别重逢
- SpringCloud|什么是Eureka(Eureka能干什么?Eureka怎么用?)
- 环城西路115号
- 2018-01-02