如果应用程序意外崩溃,请取消分配我的iOS应用程序使用的所有内存?

时间:2012-12-18 06:27:33

标签: ios memory-management crash

我是iPhone App Development的初学者。抱歉愚蠢的问题。

考虑一个案例,如果我的应用程序在没有任何警告的情况下崩溃,那么我的应用程序分配的所有内存将由iOS自动释放,还是保持不变?

如果iOS尚未发布,那么我将如何以及在何处发布它们?

4 个答案:

答案 0 :(得分:1)

如果您的应用程序崩溃,您无能为力。到应用程序崩溃时,系统将销毁特定应用程序的已分配内存。当应用程序再次启动时,没有分配的内存,您的应用程序将重新启动。

您应该正确管理应用程序中的内存, 请参阅:thisApple Doc

或者您可以尝试ARC,请参阅此tutorial

答案 1 :(得分:1)

是的,任何体面的操作系统都会释放所有内存并释放许多其他资源,例如程序终止时程序使用的文件句柄。程序如何终止并不重要。需要注意的一件重要事情是,OS会在不释放/销毁对象的情况下回收内存。因此,当OS在程序终止时回收内存时,通常会在干净地释放对象时自动运行的任何代码都不会被调用。

答案 2 :(得分:0)

你必须在dealloc方法中释放你的全局(在.h文件中的decalred)对象

-(void)dealloc
{
   //release here
}

您使用后可以释放的私有或实例对象。

快乐编码!!!!

答案 3 :(得分:0)

我更喜欢开始使用ARC(自动参考计数),它也适用于iOS4和iOS5的