列表视图中的图像产生内存不足

Images in a list view produces out of memory

我想将缩略图大小的图像和文本显示为列表视图项目。但是来自服务器的所有图像都更大。这会导致内存不足错误。我正在使用网络图像视图来显示图像。内存是否包含大尺寸图像或重新调整尺寸的图像?如果我使用 picasso 可以避免这些错误吗?

您需要对大图像进行降采样

BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 8; 
Bitmap preview_bitmap = BitmapFactory.decodeStream(is, null, options);

另请参阅 Displaying Bitmaps Efficiently 了解更多信息。

你应该使用 google 推荐的 Glide Lib。它也避免了内存不足的错误。

建议: Introduction to Glide, Image Loader Library for Android, recommended by Google

将位图缩放为较小的尺寸,并在清单

中的application标签下添加largeHeap属性
    android:largeHeap="true"