Android ImageView setImageBitmap - PullRequest
       56

Android ImageView setImageBitmap

2 голосов
/ 29 октября 2011

Я пытаюсь лучше понять, как Android обрабатывает изображения для более эффективного использования памяти.У меня есть изображение, сохраненное в Bitmap, и я использую ImageView.setImageBitmap() для его отображения.Теперь возникает вопрос - будет ли он использовать Bitmap, который я пропустил в будущем, или он делает его копию, а созданный мною Bitmap больше не используется после вызова setImageBitmap?

Если предположить, что он сохранит ссылку на Bitmap, который я прошел, как он будет себя вести, когда Bitmap был создан с помощью BitmapFactory с использованием опции inPurgeable?ImageView предотвратит ли временную очистку Bitmap из памяти?Произойдет ли это только тогда, когда ImageView имеет состояние View.VISIBLE или также когда View.GONE и View.INVISIBLE?Или, может быть, только когда ImageView отображается на экране?

И еще одна вещь - просмотр исходного кода Android показывает, что закодированные байтовые данные всегда копируются в память (inInputShareable в настоящее время игнорируется).Считается ли это в 16/24 МБ памяти для Android-приложения для Android?

Спасибо

1 Ответ

0 голосов
/ 21 января 2014

Взгляните на эту статью: http://developer.android.com/training/displaying-bitmaps/index.html

Есть несколько полезных уроков, которые помогут вам лучше понять управление памятью Android

...