Android - 图像未正确加载懒惰列表

时间:2012-08-30 09:26:27

标签: java android lazylist

我们正在使用Lazylist来显示来自网络的图像(XML Feed)。小尺寸图像正确加载,但是当我们尝试加载大尺寸图像(超过500kb)时,它会抛出Out Of Memory异常。这应该是什么解决方案?

任何帮助都非常感激。

谢谢!

2 个答案:

答案 0 :(得分:0)

在这种情况下,请捕获异常并尝试加载质量降低的图像。您可以使用Bitmap.Config类。默认情况下,它使用Bitmap.Config.ARGB_8888进行解码,因此请尝试使用Bitmap.Config.ARGB_4444。如果它失败,请使用低质量解码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);

答案 1 :(得分:0)

请参阅下面的Stack Overflow回答链接了解延迟加载列表视图,它可能对您有所帮助,如果您对此有任何疑问,请告诉我。

Lazy Loading Listview