我们使用Lazylist来显示来自web(XML Feed)的图像。小图像加载正常,但是当我们尝试加载大尺寸图像时(超过500kb),会引发Out Of Memory异常。这应该是什么解决方案?Android - 图像加载不正确懒惰列表
任何帮助非常感谢。
谢谢!
我们使用Lazylist来显示来自web(XML Feed)的图像。小图像加载正常,但是当我们尝试加载大尺寸图像时(超过500kb),会引发Out Of Memory异常。这应该是什么解决方案?Android - 图像加载不正确懒惰列表
任何帮助非常感谢。
谢谢!
在这种情况下,请捕捉异常并尝试以降低的质量加载图像。你可以使用这个Bitmap.Config类。默认情况下,它使用Bitmap.Config.ARGB_8888进行解码,因此请尝试使用Bitmap.Config.ARGB_4444。如果againg失败,则使用低质量的解码Bitmap.Config.ALPHA_8
检查示例代码使用Bitmap.Config.ARGB_4444解码:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inDither = false;
options.inPurgeable = true;
options.inInputShareable = true;
options.inTempStorage = new byte[32 * 1024];
options.inPreferredConfig = Bitmap.Config.ARGB_4444;
options.inSampleSize = 1;
Bitmap imageBitmap = BitmapFactory.decodeFile(bitmapPath, options);
请参见下面的堆栈溢出的答案的链接,延迟加载列表视图,它可以帮助你,如果你有任何疑问,然后告诉我。