【发布时间】:2011-10-19 01:08:59
【问题描述】:
我使用了很多放置在 UIImageView 对象中的小图像。目前,我正在尝试预测以后可能出现的问题,例如内存警告、留在后台等。我的应用程序很小 - 不到 10Mb,但我还是有点担心。原因是我不确定我的应用程序将如何应对屏幕上加载大量 UIImageViews 的情况,然后应用程序进入后台,然后在很长一段时间后返回。我必须重新加载所有屏幕上的 UIImageViews 吗?
我了解到 iOS 在后台处理时会自行处理 UIKit 数据(例如图像视图)。而且我不需要担心恢复它。如果我的 UIImageView 对象可以直接从 app 目录使用 PNG 图像文件,那就没问题了。但问题是我正在使用 spritesheets(其中包含多个图像的文件),然后使用 CGImageCreateWithImageInRect 提取这些图像,然后在某个时间点传递给 UIImageView。现在,我在问自己,iOS 会缓存我在屏幕上的 UIImageView 对象,还是我必须在应用程序激活时手动重新加载这些 UIImageView?我知道如果很多应用程序将在后台运行,那么我的后台应用程序可能会被杀死。但是我担心我的应用程序仍然存在(在后台)但释放 UIImageView 对象的情况......请分享你的知识和见解:)
【问题讨论】:
标签: objective-c memory uikit background uiimageview