2013-12-22 3 views
0

У меня есть приложение для Android 3.0 и выше, где я должен показать некоторые большие растровые изображения. Растровые изображения уже масштабируются до размера, в котором они должны отображаться. Я уже использовал largeheap=true в файле манифеста, но все же я получаю ошибку OutOfMemory. Я не использую кеш LRU прямо сейчас, как упоминание в displaying bitmaps efficiently на developer.android. У меня есть следующие сомнения.Android-приложение OutOfMemory. Bitmap

  1. Должен ли я просто попытаться поймать ошибку и выполнить остальную работу?

  2. Должен ли я использовать функцию bitmap.recycle(). После android 3.0 нет необходимости использовать bitmap.recycle(), так как память не выделяется в native, и, как упоминалось, эта функция освобождает собственный объект.

  3. Должен ли я использовать механизм кэша LRU как упоминание в caching bitmaps? Разве это не увеличит потребление памяти моего приложения, так как я буду хранить растровые изображения в кеше?

  4. Есть ли подходящий пример или архитектура для отображения растровых изображений, которые объясняют механизм LRUcache. Чтение всех теорий в сети довольно сложно.

  5. Означает ли поле inBitmap значение BitmapFactory.Options также в уменьшении объема памяти?

У меня есть ограничения памяти на моем приложении, и я хочу, чтобы он использовал как можно меньше памяти. Пожалуйста, порекомендуйте.

ответ

0

В этой статье описывается лучший способ управления памятью и сохранения качества в разработчике android Displaying Bitmaps Efficiently. Надеюсь, это ответит на ваш запрос.

+0

Я прочитал упомянутую ссылку. но я смущен выше 5 баллов, так как там много теории. –

+0

Я знаю. Но в долгосрочной перспективе это поможет вам. Я тоже застрял с той же проблемой, и это помогло мне. В будущем вы будете делать еще много приложений, и эти знания помогут вам. Это самый эффективный способ. Удачи. – Prachur

Смежные вопросы