Кэширование изображений Android - как?

Я думаю, что это уже спрашивали и спрашивали раньше, но все же есть вещи, которые я не могу понять.

] Я пробовал два разных подхода:

  1. Хранить все изображения в памяти, когда определенный предел начинает превышать, начинайте их удалять
  2. Пусть Android исправит это с помощью SoftReferences

В 2. он просто иногда их очищает второй я их выделяю! И я не выделяю слишком много - 30-40 изображений 50x50 пикселей.

Так что я придерживаюсь одного. Вопрос в том, каков предел?

  1. Могу ли я получить от устройства достоверную информацию о том, сколько именно памяти для растровых изображений у меня осталось? Я провел небольшое исследование, посмотрел значения DDMS, он просто занимает все больше и больше места (если я не убираю), пока не взорвется. Сейчас осталось только 200K, затем система предоставляет еще 2M ...
  2. В настоящее время я использую какое-то эвристическое решение, основанное на модели устройства или размере экрана. Я считаю, что в конечном итоге это тупиковый путь. Есть исключения памяти на некоторых телефонах, совершенно бесплатно на других.
  3. Есть ли третье решение, правильное?
8
задан Danail 31 July 2011 в 12:20
поделиться