Доступная память приложения во время выполнения - PullRequest
2 голосов
/ 24 августа 2011

Как узнать, сколько памяти доступно для моего приложения на лету?Мое приложение загружает некоторые растровые изображения и сохраняет (в памяти) их, чтобы не допустить ошибок пользователя при его повторной загрузке.Но насколько я знаю, куча Java составляет всего 16 МБ, поэтому мне нужно будет обработать некоторые случаи нехватки памяти и выбросить некоторые загруженные растровые изображения (не все растровые изображения отображаются одновременно, но они могут быть видны пользователюс помощью одного «клика», если они уже загружены).

Есть ли способ получить фактическую доступную память (что означает доступную память кучи Java)?

Ответы [ 2 ]

2 голосов
/ 24 августа 2011

Блог в памяти Android

http://codelog.dexetra.com/post/47690459692/getting-around-android-memory-blues

проверить это .. это может помочь вам ..

2 голосов
/ 24 августа 2011

Вместо того, чтобы беспокоиться обо всем этом, рассмотрите возможность упаковки объекта, представляющего каждое изображение, в WeakReference .Затем просто выполните кеширование с помощью Map<String, WeakReference<Image>> или как вы это делаете.

Таким образом, если он уже находится в кеше, используйте его.Если он не находится в кэше (либо к нему никогда ранее не обращались, либо он был GC'd), то получите его снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...