Ошибка нехватки памяти с растровым изображением
Во время выполнения я пытаюсь поместить изображение в вид поверхности. Когда я попытался использовать изображение из папки Drawable, у меня возникла ошибка «Недостаточно памяти». После быстрого поиска в потоке стека я обнаружил, что облегчение будет, если мы получим доступ к изображению из папки ресурсов. Но все равно я получаю ошибку «Недостаточно памяти» во время выполнения.
Я проанализировал и обнаружил, что масштабирование поможет в решении подобных проблем, связанных с памятью. Дело в том, что у меня размер изображения 1280 х 720 и размер устройства тоже одинаковый. Поэтому я чувствую, что масштабирование не будет иметь никакого эффекта.
Поскольку у нас есть эксперты в этом сообществе, я был бы признателен, если бы вы могли помочь мне с некоторыми предложениями / примерами для решения такого рода проблемы.
Сценарий 1:Использование растрового изображения из папки Drawable.
backgoundImage = Bitmap.createScaledBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.backgroundhomepage), (int) dWidth, (int) dHeight, true);
/***********************************************************************************************************************************************************
1. To get the image from asset library
**************************************************************************************************************************************************************/
public Bitmap getAssetImage(Context context, String filename) throws IOException {
AssetManager assets = context.getResources().getAssets();
InputStream buffer = new BufferedInputStream((assets.open("drawable/" + filename + ".png")));
Bitmap bitmap = BitmapFactory.decodeStream(buffer);
return bitmap;
}
Сценарий 2:Использование растрового изображения из папки «Активы»
backgoundImage = Bitmap.createScaledBitmap(getAssetImage(context,"backgroundhomepage"), (int) dWidth, (int) dHeight, true);