2

我只是想弄清楚我的应用程序存在一些内存混淆。iphone 应用程序是否具有存储图像等的缓存?当我切换屏幕时,我的记忆会跳起来,但当我切换回上一个屏幕时,我的记忆不会回落。

4

2 回答 2

2

imageNamed方法缓存图像,但缓存在内存压力下被清除,所以如果您确信您的视图控制器正在被释放,那么您可能不会担心它。如果它是您不想缓存的图像,请使用imageWithContentsOfFile它,它不会缓存。根据imageNamed 文档

如果您有一个只显示一次的图像文件并希望确保它不会被添加到系统的缓存中,您应该改为使用imageWithContentsOfFile:. 这将使您的一次性图像远离系统图像缓存,从而潜在地改善您的应用程序的内存使用特性。

于 2013-09-17T02:34:50.520 回答
1

是的。这是有道理的,尤其是对于具有大量图像的应用程序,因为您不希望每次用户加载视图时都从内存中获取这些资源。对于动态加载的内容也是如此,这就是为什么像 Flipboard 这样的应用会占用大量内存的原因:P

如果您对此感到担心,请确保更积极地释放很少使用的资源,例如特定于视图的图像。可能在每个视图上的其他内容(例如背景图像)应保存在缓存中。

于 2013-09-17T01:42:43.817 回答