2009-08-11 75 views
0

我已经简要介绍了我的应用程序的运行情况,以支持我的问题。iPhone中的图像缓存问题

我有一个应用程序,其中超过1600个图像与iPhone应用程序文档目录一起存储。 我在主屏幕上有一个tableView如下。 =>第一类 =>第二类 =>第三类

=如果用户选择第一类>,图像加载在我的滚动型

| ----------- ---------页面视图控制器----------------- |
|第一张图片|第二张图片|第三张图片|第四张图片|
| --------------------页面视图控制器----------------- |

选择类别后,用户就可以看到 - 第一个图像从网页视图控制器&别人都已经加载页面视图控件,用户只滚动左 - 右看对方的图像,但同时用户可以看到只有一个图像(即页面视图控件的任务)

现在,每一页都有在滚动查看放置的形象图(使用户可以放大出)

所有这些东西很好地工作,

问题发生在以下情况。
=>第一类别的图像之后
=>用户按下回到
=>现在用户选择第二类以查看第二类别的所有图像在页面视图控制研究被加载。

iPhone在特定情况下终止应用程序。 (因为它不能加载所有图像以页视图控件) (每个图像是在-至少4 MB大约。)

iPhone 模拟器工作完全中所描述的情况,但iPhone没有按” tiPhone终止在给定情况下的应用程序。

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

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

在此先感谢您的帮助。

回答

1

您有内存问题,您需要更好地管理您的照片,并在不使用时从内存中释放它们。为了您的滚动视图不加载全部图像一次,装载最多三个,这是你所需要的,我说三的原因是因为你将有这样的事情

PIC ActivePic产品图 或 ActivePic的图像 - 在这里你只需要2

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

+0

@丹尼尔 - 对不起,我正在改变我的问题。 – 2009-08-11 17:29:10

+0

你的照片有哪些解决方案? – Daniel 2009-08-11 17:42:07

+1

您仍然在运行内存,您需要确定原因,可能是因为您没有正确释放其他图像,或者您使用的图像分辨率太高,如果将其缩小到320x480或480x320他们并不是已经,如果他们是像1600x1400这样可以防止崩溃你的应用程序 – Daniel 2009-08-11 17:43:41