Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 释放位图内存的正确方法_Android_Memory Management_Bitmap_Android Bitmap_Bitmapfactory - Fatal编程技术网

Android 释放位图内存的正确方法

Android 释放位图内存的正确方法,android,memory-management,bitmap,android-bitmap,bitmapfactory,Android,Memory Management,Bitmap,Android Bitmap,Bitmapfactory,我正在开发我的第一个Android应用程序。我有一个方法,创建两个位图并返回第三个位图,它是第一个位图上第二个位图的覆盖。所以基本上,一旦创建了第三个位图,我就不需要这两个位图了。 我读过一些关于释放位图内存的帖子和文章,对于如何处理它我有点困惑 我必须自己发布位图吗?如果是,正确的方法是什么?方法完成后是否发布?我应该让垃圾收集器释放它吗 public static Bitmap bitmapResizeOverlay(Context context, Uri selectedImage, i

我正在开发我的第一个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);
}
selectedBitmap.recycle()