iPhone中的图像缓存问题

时间:2009-08-11 17:11:56

标签: iphone

我已经简要描述了我的申请工作是否符合我的问题。

我有一个应用程序,在iPhone-Application-Document Directory中存储了1600多张图像。 我在主屏幕上有一个tableView如下。 =>第一类 =>第二类 =>第三类

=>如果用户选择第一类,则在我的ScrollView中加载图像 喜欢
| --------------------页面视图控制器----------------- |
|第一张图片|第二张图片|第三张图片|第四张图片|
| --------------------页面视图控制器----------------- |

选择类别后,用户可以看到 - 第一页图像来自页面控制器&其他已加载到页面视图控件中,用户只需向左 - 向右滚动即可查看其他图像,但用户只能看到一个图像。(这是页面视图控件的任务)

现在每个页面都有一个放置在滚动视图中的图像视图(因此用户可以放大)

所有这些都很完美,

以下情况会出现问题 => 观看第一类的图像后 =>用户按返回
=>现在用户选择第二个类别以查看在页面视图控件中加载的第二个类别的所有图像。

iPhone在给定情况下终止应用程序。 (因为它无法将所有图像加载到页面视图控件) (每张图片至少大约4 MB 。)

在描述的情况下, iPhone 模拟器完美运行,但 iPhone不 iPhone会在特定情况下终止应用程序。

我认为iPhone中可能存在内存缓存问题。

问题是如何解决这个问题?

先谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

您遇到内存问题,需要更好地管理图片,不使用时从内存中释放图片。对于你的滚动视图,不要一次加载所有图像,最多加载三个,这就是你所需要的,我说三个的原因是因为你有这样的东西

PIC ActivePic Pic 要么 ActivePic Pic - 在这里你只需要2

您在活动图片的每一侧加载图片,以便在用户滚动剪辑时不会发生。如果您不在滚动视图中,请确保释放所有图像,如果不是因为您已经过期而耗尽内存。在这里查看示例项目PageControl http://developer.apple.com/iphone/library/samplecode/PageControl/,这里他们以上述相同的方式管理滚动视图的视图。