Android загрузка и сохранение изображений на устройстве

1

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

В: На ваш взгляд, что было бы лучше/более подходящим способом: загрузка изображений и сохранение их на устройстве или использование CacheManager? На данный момент я использую первое решение, и все работает нормально. Однако на веб-сайте есть много категорий и даже больше новостей для каждой категории, поэтому на устройстве сохраняется много изображений. Нормально ли в этом типе приложений сохранять изображения на устройстве?

Спасибо за вашу помощь, marqs

Теги:
image
webview

2 ответа

2
Лучший ответ

Я не думаю, что вы должны сохранять изображения на устройстве по многим причинам:

  • Зачем тратить пространство на устройствах на новостные изображения? Все, чего хочет пользователь, - это читать новости, и это все. (В вашем случае возможно открыть его позже, но все же - не навсегда)
  • Вы можете сохранить его на устройстве и сделать приложение. удалите эти файлы, после чего скажем, 24 часа.
  • Основная проблема - проблема конфиденциальности, когда пользователь удаляет файлы кеша, которые, по его мнению, все веб-страницы, которые он посетил, вытерты с устройства, но в этом случае они не...

Возможно, вы можете просто добавить кнопку "Чистый кэш" в приложении. но после всего, что я написал, я думаю, что использование Cache-manager - лучший способ - просто потому, что это предназначалось именно для этих вещей.

:)

Ротем

  • 0
    Rotem, я думаю, вы не понимаете, что делает кэш в Android. Каждое приложение имеет свой собственный каталог, который разработчики могут использовать для хранения файлов кэша. Вы можете очистить кеш из настроек. Большая проблема с изображениями заключается в том, что при выполнении прокрутки и при извлечении изображений вам необходим быстрый доступ к этим данным, иначе поток пользовательского интерфейса остановится и анимация будет очень медленной.
2

Я не нашел причины использовать CacheManager. Я использовал getCacheDir и сохранил все в файле. У меня два уровня кеша. Сначала, когда я его извлекаю, я храню в памяти и на диске. Когда в памяти становится больше 30 объектов, я начал очищать память, чтобы освободить место для новых изображений. Тем не менее, я все еще держу изображения на диске и при необходимости приношу в память. Я нашел это, чтобы дать мне самую плавную прокрутку. Примерно через час я снова запускаю изображение на диске.

  • 0
    CacheManager не работает вне WebViews, поэтому нет причин использовать его в этом случае, как вы указали: stackoverflow.com/questions/2059831/…
  • 0
    Ах, приятно, я этого не знал. Не удивительно, что я никогда не использовал это. :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню