我对OOM概念非常熟悉。我在这里遇到了很多问题,我知道这听起来像是对OOM的重复问题,但我现在有一个不同的问题。
我有数百个图像,我必须在单个ListView
中的单个Activity
中显示这些图像。
我已经使用了Fedor的延迟加载概念。
当图像很小(类似于50-100张图像)时,代码工作正常,但如果我得到大约200到300张图像,一旦用户滚动ListView
(最终)我我得到一个内存不足的例外。
我在开发者网站中使用了有效的Adapter概念,如here所示,我相信这是最好的自定义适配器使用方法。
到目前为止,我所看到的所有建议都是基于通过缩放或其他方式减少位图大小。我已经尝试过这些方法了。但OOM仍然会在某个时间点发生。
降低图像质量看起来不像处理此异常的方式,因为这似乎会影响用户体验,而且它也不适用于大量的位图。
我的问题是:
n
中显示ListView
张图片?ListView
中显示约500张图片?非常感谢任何帮助。
答案 0 :(得分:0)
答案 1 :(得分:0)
在将此API级别放置在应用程序堆中之前,请尝试使用API Level 11+映像。是的,可以使列表视图具有500个图像并且工作流畅(例如,联系人应用程序)。
这个http://code.google.com/p/android-imagedownloader/可以帮助您获取图像,缓存和回收它们。