我刚刚在我的 Android 应用程序中添加了对专辑封面的支持,我遇到了一个问题,即在布局中显示专辑封面会导致应用程序内存激增,并且最终会终止播放服务以释放内存。我相信问题是我将提取的专辑封面添加到布局中而不压缩它。这导致必须将大图像缓存在内存中。我用来制作位图的代码是:
byte [] blob = mCursor.getBlob(mCursor.getColumnIndexOrThrow(Media.MediaColumns.PICTURE));
if (blob != null) {
return BitmapFactory.decodeByteArray(blob, 0, blob.length);
}
是否可以统一缩放/压缩这些位图以减少它们的内存占用。另外,有没有办法直接使用字节数组(而不是输入流)进行压缩。