首页 > 代码库 > 自动垃圾回收机制(ARC)

自动垃圾回收机制(ARC)

手动内存管理(MRC)带来的问题:

  1.0 由于开发者疏漏或不能正确的释放内存而导致的内存泄漏,从而引起程序的崩溃

  2.0 由于指针的到处传递而无法确定何时可以释放该指针所 指向的内存块。假如代码中某个位置释放了内存,而另一些地方还在使用指向这块内存的指针, 那么这些指针就变成了所谓的“野指针”(wild pointer)或者“悬空指针”(dangling pointer),对 这些指针进行的任何读写操作都会导致不可预料的后果。 

  3.0 著名的内存检查工具,比如Rational Purify、Compuware BoundsChecker和英特尔的Parallel Inspector等 

自动内存管理(ARC):

  1.0 从设计方法的角度而衍生了类似于内存引用计数之类的方法(通常被称为“智能指针”) 

  2.0 在语言级别引入自动垃圾回收算法(Garbage Collection,简称GC) 

    2.1:所谓垃圾回收,即所有的内存分配动作都会被在运行时记录,同时任何对 该内存的使用也都会被记录,然后垃圾回收器会对所有已经分配的内存进行跟踪监测,一旦发现有些内存已经不再被任何人使用,就阶段性地回收这些没人用的内存。