我只是想弄清楚我的应用程序存在一些内存混淆。 iphone应用程序是否有一个存储图像等的缓存?当我切换屏幕时,我的记忆会跳起来,但当我切换回上一个屏幕时,我的记忆不会再回落。
答案 0 :(得分:2)
imageNamed
方法缓存图像,但缓存在内存压力下被清除,因此如果您确信您的视图控制器正在被释放,那么您可能不会担心它。如果它是您不想缓存的图像,请使用imageWithContentsOfFile
并且它不会缓存。根据{{1}} documentation:
如果您的图像文件只显示一次,并希望确保它不会添加到系统的缓存中,则应使用
imageWithContentsOfFile:
创建图像。这会将您的一次性图像保留在系统图像缓存之外,从而可能会改善应用程序的内存使用特性。
答案 1 :(得分:1)
是。这是有道理的,特别是对于具有大量图像的应用程序,因为每次用户加载视图时,您都不希望从内存中获取这些资源。对于动态加载的内容也是如此,这就是Flipboard等应用程序占用大量内存的原因:P
如果您对此感到担心,请确保更积极地释放很少使用的资源,例如视图特定的图像。其他事情,如背景图片,可能在每个视图上,应该保留在缓存中。