是否有可能,当iOS应用程序被iOS强行关闭/杀死,因为“内存不足”,应用程序分配的内存不是100%发布的?我认为客户端直接分配的内存已经发布 - 甚至有硬件支持,但我们观察到如果应用程序被iOS关闭/杀死并因此再次启动的内存越来越少,直到iPad必须重新启动。我们认为分配了一些内存,例如通过后台运行守护进程,代表应用程序执行某些工作,如果进程间通信未成功完成,守护程序端的已用内存可能无法正常释放...
这样的事情可能吗? BR 斯登
答案 0 :(得分:0)
如果您分配内存,它将保留在堆中,直到您释放它为止,即使执行alloc的应用程序早已消失。就像你已经看到重启设备将清除堆。
你应该总是管理内存事件,有一种方法。
- (void)didReceiveMemoryWarning;
通常你会释放所有你能做的事情,特别是如果你的等级为2级,就好像你的应用程序无论如何都要关闭一样。
然而,当您的应用程序退出时,它应该调用dealloc!所以你可能会有一般性的泄漏。
答案 1 :(得分:0)
我很确定方法:
- (void)applicationWillTerminate:(UIApplication *)application;
即使应用程序崩溃,也会运行。如果没有被内存警告捕获,这将是确保一切都被释放的好时机。