iOS 内存管理
本篇随笔记录的是看唐巧写的「iOS开发进阶」书籍的「理解内存管理」知识点汇总,这里分享给大家。 Objective-C 和 Swift 语言的内存管理方式都是基于引用计数「Reference Counting」的,引用计数是一个简单而有效管理对象生命周期的方式。引用计数分为自动引用计数「ARC: Automatic Reference Counting」和手动引用计数「MRC: Manual Reference Counting」,现在都是用 ARC 了,但是我们还是很有必要了解 MRC。 1. 引用计数的原理是什么? 当我们创建一个新对象时,他的引用计数为1; 当有一个新的指针指向这个对象时,他的引用计数就加1; 当对象关联的某个指针不再指向他时,他的引用计数就减1; 当对象的引用计数为0时,说明此对象不再被任何指针指向,这时我们就可以将对象销毁,回收内存。 由于引用计数简单有效,除了 Objective-C 语言外,Microsoft 的 COM「Component Object Model」、C++11(基于引用计数的智能指针 share_prt)等语言也提供了基于引用计数的内存管理方式。 举个例子: 新建工程,Xcode 默认开启的是 ARC,我们这里针对「AppDelegate.m」文件使用 MRC,进行以下配置: 选择目标工程,然后在「Build Phases」的