0

我有一个Phonegap 应用程序,我将它用作相册。我正在使用 FileReader 功能读取 jpg 文件,大约 1,000 张大小为 400pxx350px 的图片。打开应用程序后,它会将所有图片一起加载,大约需要 1.5 分钟。应用程序的 ram 使用量(缓存)变为大约 350MB。在使用该应用程序并在图片之间导航后,RAM 使用量增加到大约 450-500MB,然后一些已经正确加载的图片变为白色而不是图片,如果使用该应用程序更多,它有时会崩溃。如果关闭应用程序并重新启动它,它会使用 350MB 的缓存 RAM 重新开始,并且可以再次使用它几个小时,直到 RAM 使用量再次增加并且一些图片再次变成白色。

如何减少 RAM 使用量?或者也许有更好的方法来加载图片?谢谢,奥菲尔。

4

1 回答 1

0

这些尺寸的 1000 张图像是大量数据,因此将占用大量 RAM。你真的需要所有 1000 个同时在内存中吗?在不知道您的应用程序的用户界面布局和用例要求的情况下,我只是在推测,但是您能否例如在需要显示时按需异步加载每个图像?或者,如果从文件系统读取图像的延迟在显示它时造成了不可接受的延迟,您可以只预加载一些图像,例如,如果它们在一个序列中,那么在内存的任一侧只需要一对当前显示的图像。

于 2013-07-10T16:14:04.950 回答