iPhone中的图像缓存问题

iPhone中的图像缓存问题,iphone,Iphone,我已经简要描述了我的申请工作,以理解我的问题 我有一个应用程序,其中超过1600个图像存储在iPhone应用程序文档目录中。 我在主屏幕上有一个tableView,如下所示。 =>第一类 =>第二类 =>第三类 =>如果用户选择第一个类别,图像将加载到我的滚动视图中 像 |--------------------页面视图控制器-------------------- |第一图像|第二图像|第三图像|第四图像| |--------------------页面视图控制器---------------

我已经简要描述了我的申请工作,以理解我的问题

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

=>如果用户选择第一个类别,图像将加载到我的滚动视图中

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

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

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

所有这一切都很完美

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

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

iPhone模拟器在所描述的情况下可以完美地工作,但iPhone不能。 iPhone在给定情况下终止应用程序

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

问题是如何解决这个问题


提前感谢您的帮助。

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

PIC-ActivePic-PIC 或 ActivePic图片-这里你只需要2个


您可以在活动图片的每一侧加载图片,这样当用户滚动剪辑时就不会发生。当您不在滚动视图中时,请确保释放所有图像,如果没有,请像过期一样耗尽内存。看看这里的示例项目PageControl,在这里它们以上述相同的方式管理滚动视图的视图

@Daniel-对不起,我的问题有点改变。你的照片的分辨率是什么?你的内存仍然不足,你需要确定原因,可能是你没有正确地释放其他图像,或者你使用的图像分辨率太高,你应该把它们缩小到320x480或480x320,如果它们不是那么大的话,如果它们像1600x1400那样会使你的应用程序崩溃,那么图像的大小就大了。我所做的是,类似这样的事情。mageDatafromPhoto=UIImageJPEGRepresentation([info objectForKey:@“myimge”],0.2);我把自己的形象缩小到了“@Daniel”告诉我的尺寸。他是对的。问题解决了。