Android: обмен кэшем изображений между действиями - PullRequest
3 голосов
/ 07 февраля 2011

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

Пример:

Приложение имеет 3 действия (A, B и C), и для аргумента скажем, что A вызывает B и B вызывает C и C вызывает A. Каждое действие отображает изображение, загруженное из Интернета, и я использую Asynctask для загрузки и отображения изображений с каждым занятием - достаточно просто. Теперь я хотел бы добавить кэш изображений, чтобы избежать нескольких загрузок одного и того же изображения.

Прямо сейчас каждое действие запускает новый экземпляр простой асинхронной задачи, которая загружает изображение и обновляет представление соответствующим образом. Очевидно, что достаточно просто обновить базовую асинхронную задачу, чтобы проверить кэш изображений перед продолжением загрузки и обновить кэш после завершения загрузки, но я застрял на том, как / где создать и инициализировать кэш. Любые мысли будут оценены.

1 Ответ

2 голосов
/ 07 февраля 2011

Вы можете добавить это в манифест вашего приложения:

приложение android: имя = "MyApplication" (...)

Затем вы можете создать класс с именем «MyApplication». Затем вы можете использовать этот класс в своей деятельности. Перед выполнением асинхронного вызова проверьте, правильно ли вы используете изображение. Если у вас есть, вы используете один «кэшированный», если нет, вы можете получить новый. Вы можете попробовать что-то вроде этого (в этом случае получить несколько случайных строк):

ArrayList myStrings = ((Мое заявление) this.getApplication ()) getRandomStrings ();.

Надеюсь, это помогло вам. :)

Редактировать: Не забудьте создать свое «MyApplication», как это:

открытый класс MyApplication расширяется Применение

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