我正在开发我的第一个Android应用程序。我有一个创建两个位图并返回第三个位图的方法,该图是第二个位图在第一个位图之上的覆盖图。因此,基本上,一旦创建了第三个位图,我就不需要两个位图。 我已经阅读了一些有关释放位图内存的帖子和文章,但对如何处理它有点困惑。
我必须自己释放位图吗?如果是,这样做的正确方法是什么?方法完成后它们会被释放吗?我应该让垃圾收集器释放它吗?
public static Bitmap bitmapResizeOverlay(Context context, Uri selectedImage, int maxWidth,
int maxHeight, @DrawableRes int overlayImageResource) {
Bitmap selectedBitmap = bitmapResize(context, selectedImage, maxWidth, maxHeight);
Bitmap overlayBitmap = BitmapFactory.decodeResource(context.getResources(), overlayImageResource);
return overlayBitmapToBottom (selectedBitmap, overlayBitmap);
}
答案 0 :(得分:1)
selectedBitmap.recycle()
要清除位图占用的内存时,始终使用
方法。 不回收位图的不利方面可能是OOM(内存不足)