2012-08-30 40 views
0

我们使用Lazylist来显示来自web(XML Feed)的图像。小图像加载正常,但是当我们尝试加载大尺寸图像时(超过500kb),会引发Out Of Memory异常。这应该是什么解决方案?Android - 图像加载不正确懒惰列表

任何帮助非常感谢。

谢谢!

回答

0

在这种情况下,请捕捉异常并尝试以降低的质量加载图像。你可以使用这个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); 
0

请参见下面的堆栈溢出的答案的链接,延迟加载列表视图,它可以帮助你,如果你有任何疑问,然后告诉我。

Lazy Loading Listview