1> release: 手动将OC对象的引用计数器-1;
autorelease: autorelease过的对象会放在一个自动释放池中,当 自动释放池被销毁时,会对池子中的所有对象做一次release操作。
2> 使用release需要考虑对象被释放的时间,要在对象被释放前对其 操作,否则会出现僵尸指针和僵尸对象;
使用autorelease不用再考虑对象被释放的时间,只要在自动释放 池中操作对象,都不会出现僵尸指针和僵尸对象。
3> release可以精确控制对象释放的时间,防止占用内存过大,造成程 序闪退;
autorelease无法精确控制对象释放的时间,如果对象占用内存过 大,会造成程序闪退;如果对象内存很小,没有影响。 |
|