Когда я пытаюсь установить обои из ресурса Drawable, я получил OutOfMemoryError
. Как я могу исправить эту проблему?Android OutOfMemoryError при попытке создать обои из ресурса Drawable
Context context = v.getContext();
WallpaperManager wallpaperManager = WallpaperManager.getInstance(context);
try {
Drawable drawable = context.getResources().getDrawable(wpResID);
Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap();
wallpaperManager.setBitmap(bitmap);
bitmap.recycle();
bitmap = null;
} catch (IOException e) {
e.printStackTrace();
}
Я получил это:
05-22 16:03:13.001: E/AndroidRuntime(30942): FATAL EXCEPTION: main
05-22 16:03:13.001: E/AndroidRuntime(30942): java.lang.OutOfMemoryError
05-22 16:03:13.001: E/AndroidRuntime(30942): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
05-22 16:03:13.001: E/AndroidRuntime(30942): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:521)
05-22 16:03:13.001: E/AndroidRuntime(30942): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:374)
05-22 16:03:13.001: E/AndroidRuntime(30942): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:785)
05-22 16:03:13.001: E/AndroidRuntime(30942): at android.content.res.Resources.loadDrawable(Resources.java:2005)
05-22 16:03:13.001: E/AndroidRuntime(30942): at android.content.res.Resources.getDrawable(Resources.java:673)
Изображение куча неожиданно улучшает размер растрового изображения –