Загружает ли SetBackgroundDrawable изображение в память?
Я делаю приложение для Android, и у меня возникла проблема с отчетом "исключение нехватки памяти", после многих поисков в сети я обнаружил, что android:background загружал фоновое изображение в память.
поэтому я удалю все мои объявления "android:background" в моих XML-файлах и заменю на:
background = new BitmapDrawable(getResources(),ImageFactoring.decodeSampledBitmapFromResource(getResources(), R.drawable.catalogue_button_poeles_bois, mMaxButton_Cheminees.getLayoutParams().width, mMaxButton_Cheminees.getLayoutParams().height));
mMaxButton_Cheminees.setBackgroundDrawable(background);
и прежде чем сделать это, я хотел бы знать, загружает ли setBackgroundDrawable изображение в память или нет?
1 ответ
Решение
Конечно, это так. Все, что вы видите на дисплее, хранится в памяти. После установки фона он сразу загружается. Либо при накачивании из xml, либо при явной настройке. Не используйте изображения больше, чем нужно в качестве ресурса. И старайтесь избегать больших изображений HQ, где это возможно.