![]() |
1
1
没有确切的答案。有几件事需要注意: 1) 如果你的应用程序随着时间的推移使用了越来越多的内存,那么它会比大部分时间正确释放内存,但会犯一些错误的应用程序更快被杀死。别忘了有一个看门狗进程,它有一个(看似)复杂的终止应用程序的公式,不同的应用程序可以因为不同的原因在不同的内存使用级别终止。 2) iPhone4的内存比以前的手机多得多,但由于用户同时处理多个任务,只使用内存是很不礼貌的。在这里,多任务处理比保持低内存占用更重要(当你自己的应用程序在后台时,内存占用越多,它被杀死的可能性就越大)。 3) 认真对待内存警告,倾尽一切可能。它将使你的应用程序运行更长时间,并再次帮助它在后台生活更长的时间。 |
![]() |
2
0
在过去的两天里,我在分析我最新应用程序的内存占用情况,发现了一个有趣的事实: 当应用程序收到内存警告时,它将释放当前不可见的视图。这导致我的应用程序崩溃,因为我没有考虑到这一点。我最初以为是释放已自动释放的对象,但这是不正确的。 如果我重新启动我的手机,它可以处理高达8mb的堆没有任何警告。我猜在iOS4中,这也取决于你在后台运行了多少东西。我在iPhone4上安装了ios4.0.1。 iPad/iphone3gs有256mb,iPhone4有512mb,但这并不意味着它可以全部用于一个进程。我记得在iOS3.0早期,我的一个应用程序被操作系统以32mb的速度终止。 |