У меня есть приложение для Android 3.0 и выше, где я должен показать некоторые большие растровые изображения. Растровые изображения уже масштабируются до размера, в котором они должны отображаться. Я уже использовал largeheap=true
в файле манифеста, но все же я получаю ошибку OutOfMemory
. Я не использую кеш LRU прямо сейчас, как упоминание в displaying bitmaps efficiently на developer.android. У меня есть следующие сомнения.Android-приложение OutOfMemory. Bitmap
Должен ли я просто попытаться поймать ошибку и выполнить остальную работу?
Должен ли я использовать функцию bitmap.recycle(). После android 3.0 нет необходимости использовать bitmap.recycle(), так как память не выделяется в native, и, как упоминалось, эта функция освобождает собственный объект.
Должен ли я использовать механизм кэша LRU как упоминание в caching bitmaps? Разве это не увеличит потребление памяти моего приложения, так как я буду хранить растровые изображения в кеше?
Есть ли подходящий пример или архитектура для отображения растровых изображений, которые объясняют механизм LRUcache. Чтение всех теорий в сети довольно сложно.
Означает ли поле inBitmap значение BitmapFactory.Options также в уменьшении объема памяти?
У меня есть ограничения памяти на моем приложении, и я хочу, чтобы он использовал как можно меньше памяти. Пожалуйста, порекомендуйте.
Я прочитал упомянутую ссылку. но я смущен выше 5 баллов, так как там много теории. –
Я знаю. Но в долгосрочной перспективе это поможет вам. Я тоже застрял с той же проблемой, и это помогло мне. В будущем вы будете делать еще много приложений, и эти знания помогут вам. Это самый эффективный способ. Удачи. – Prachur