Android RuntimeException vs. OutOfMemoryError



我开发了一个PhotoViewer应用程序,它简单地列出外部存储中的图像文件,并在用户想要查看其中一个时显示它们。我的问题发生在我的线程绘制图像缩略图时。

如果图像数量小于500,对我来说是可以的,没有问题,但如果用户有超过1000张图像(这是很可能的),在一些绘图拇指后,内存使用超过限制,我得到OutOfMemory异常。

我曾尝试使用bitmap.recycle(),但这次我面临使用回收位图错误(RuntimeException)。你能建议我一种方法来显示越来越多的缩略图(超过2000也许)在外部存储的图像?

您的OutOfMemory问题将可能得到解决,如果您得到recycle()工作正确。RunTimeException将是一个ImageView仍然试图绘制一个已经被回收的位图,所以你必须确保在你回收它之前没有任何东西在使用这个位图。

你也可以在使用ListView滚动ListView时停止缩略图的加载。OnScrollListener -没有这个,如果用户在列表中滚动,所有滚动过去的中间行仍然被加载。

最新更新