Я пытаюсь лучше понять, как 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?
Спасибо