Как реализовать собственный ImageView, в котором я могу повторно использовать растровое изображение после его отображения в поле зрения?

Я пытаюсь реализовать собственный ImageView в android, с помощью которого я могу перерабатывать Bitmap после его установки в поле зрения. Мы не можем переработать растровое изображение с помощью ImageView по умолчанию, предоставленного Android. У меня есть сценарий в моем приложении, который интенсивно использует память, и я пытаюсь максимально сэкономить память.

Может ли кто-нибудь подсказать мне, как реализовать собственный ImageView с указанной выше функцией?

зачем писать для этого собственный вид? Просто используйте Glide. Он использует кеш в памяти, прежде всего, другие механизмы кеширования. Проверьте эту ссылку: bumptech.github.io/glide/doc/caching.html

Gregorio Palamà 06.09.2018 14:05

@ GregorioPalamà Спасибо за предложение, но я не могу использовать какую-либо библиотеку из-за ограничения размера приложения. Мне нужно реализовать это в собственном коде.

Shashank 06.09.2018 14:08

тогда вам придется реализовать свой собственный кеш в памяти. Android SDK уже кое-что предоставляет: developer.android.com/topic/performance/graphics/cache-bitma‌ p, это должно быть полезно для ваших нужд.

Gregorio Palamà 06.09.2018 14:14

Вы действительно не сможете этого сделать. Итак, что происходит, когда ваше представление необходимо перерисовать по какой-либо причине? У него нет ссылки на Bitmap, поэтому, когда он пытается нарисовать, он либо вылетает, либо ничего не делает. Или нужно перезагрузить Bitmap в худшее время для производительности. Есть причина, по которой ImageView хранит ссылку.

Gabe Sechan 06.09.2018 14:45

@GabeSechan Я думаю об этом. Я буду спроектировать его таким образом, чтобы одно растровое изображение было разделено между несколькими ImageView. Итак, когда будет вызвана функция onDraw (), я гарантирую в своем коде, что она получит ссылку на растровое изображение.

Shashank 07.09.2018 07:49

Но если вы это делаете, вы можете просто использовать просмотр изображений и дать им всем один и тот же растровый объект.

Gabe Sechan 07.09.2018 08:03
0
6
40
0

Другие вопросы по теме