缩小iPhone内存?

时间:2010-01-25 16:41:05

标签: iphone memory didreceivememorywarning

我在我的应用程序中注意到,如果我的手机长时间没有断电,didReceiveMemoryWarning会被更快地调用。几乎看起来我的应用程序可以访问的内存池随着时间的推移而缩小。

有没有人注意到这一点,是否有解释?我是否可以采取一系列措施来防止这种情况发生?

当我使用大量内存并操纵图片时,我注意到这种情况发生了。关闭电源并重新启动电话会有所帮助。是否有可能我的应用程序可以访问的内存正在缩小,或者现有内存是否碎片化并重新启动会对现有内存进行defrags?

对此问题的任何解释或帮助都会很棒。感谢。

3 个答案:

答案 0 :(得分:1)

是的,不幸的是,这是众所周知的行为。随着操作系统的运行,cruft开始发展,最终需要重新启动才能解决问题。这就是appstore中的许多应用程序在玩游戏之前请求重新启动的原因。

答案 1 :(得分:1)

旧版本的iPod守护程序mediaserverd曾经泄密。

这导致了您描述的行为。

如果一个系统服务可能泄漏,其他系统服务也可能泄漏。

答案 2 :(得分:0)

仅仅因为我们没有完成任务,我们的应用程序并不意味着iPhone正在进行多任务处理。

在Safari中打开网页会留在内存中,直到操作系统向Safari发送相同的内存警告。当您的应用运行并需要更多内存时,Mail可能会开始工作。 iPod应用程序也为自己留下了相当多的记忆。

如果您使用管理器查看iPhone的控制台,而您的应用程序获得低内存警告,您可能会看到一些内置应用程序也会收到内存警告并终止内存以释放内存。这很有趣。