Я ищу способ хранения некоторых растровых изображений, к которым можно получить доступ несколькими действиями, без необходимости перезагрузки из Интернета.
Я НЕ хочу просто передавать их из Activity to Activity, помещая их в Intent
, но, скорее, имею одно место, где я могу получить к ним доступ, не передавая их.
Я искал кэширование, чтобы помочь решить эту проблему, но если это решение, я немного неясен, как сделать кеш доступным в нескольких действиях.
Будем очень благодарны за любые предложения или альтернативные решения.
Вы можете использовать LruCache , такую библиотеку, как Volley , или реализовать ту же функциональность самостоятельно. Я думаю, что библиотека залпов была бы идеальна для вас.
Чтобы получить доступ к нему из любого места приложения, вы должны либо сохранить его в специальном объекте приложения, либо в статической переменной. Обратите внимание, что там будет храниться только ссылка на кеш. Размер кеша в обоих случаях, перечисленных выше, настраивается.
Что означает the cache accesible in multiple activities
? Просто загрузите его из Интернета, сохраните на SD-карту (chache it), а затем загрузите его с SD-карты из любого количества действий, сколько хотите.
Вот пример того, как вы можете хранить данные на Android.
Вы можете использовать загрузчик Picasso для этой задачи.
Вы можете сделать статический массив или карту растровых изображений и получить доступ к нему, где хотите. Если есть много изображений, вы также можете делать очереди и хранить только самые последние, использованные там.