Android кеширование файлов - PullRequest
0 голосов
/ 04 декабря 2011

Какое лучшее место для кэширования изображений и других файлов на SD-карте?

Я делал это в SD / {application_name} / cache

это правильное место длякешировать файлы?

Ответы [ 2 ]

1 голос
/ 04 декабря 2011

Доступ к файлам на внешнем хранилище

Если пользователь удалит ваше приложение, этот каталог и все его содержимое будут удалены.

на уровне API 8 или выше используйте каталог внешнего кэша: http://developer.android.com/guide/topics/data/data-storage.html#ExternalCache

Существует также объяснение использования API уровня 7 и ниже в приведенной выше ссылке

Сохранение файлов для совместного использования

Если вы хотите сохранить файлы, которые не относятся к вашему приложению и которые не следует удалять при удалении приложения, сохраните их в один из общедоступных каталогов на внешнем хранилище. Эти каталоги лежат в корне внешнего хранилища, например Music /, Pictures /, Ringtones / и других.

В API уровня 8 или выше используйте getExternalStoragePublicDirectory (), передав ему тип общедоступного каталога, который вы хотите, например, DIRECTORY_MUSIC, DIRECTORY_PICTURES, DIRECTORY_RINGTONES или другие. Этот метод создаст соответствующий каталог при необходимости.

Если вы используете API уровня 7 или ниже, используйте getExternalStorageDirectory (), чтобы открыть файл, представляющий корень внешнего хранилища, а затем сохраните общие файлы в одном из следующих каталогов:

Music/ - Media scanner classifies all media found here as user music.
Podcasts/ - Media scanner classifies all media found here as a podcast.
Ringtones/ - Media scanner classifies all media found here as a ringtone.
Alarms/ - Media scanner classifies all media found here as an alarm sound.
Notifications/ - Media scanner classifies all media found here as a notification sound.
Pictures/ - All photos (excluding those taken with the camera).
Movies/ - All movies (excluding those taken with the camcorder).
Download/ - Miscellaneous downloads.
1 голос
/ 04 декабря 2011

Метод getCacheDir указывает на ту же файловую иерархию, которую вы предложили, но на встроенную память. Вы сохраняете при использовании этого метода, чтобы определить кэшир для ваших фотографий. Помните, что вы должны самостоятельно управлять кэшированным каталогом на SD-карте. Директория getCacheDir управляется ОС.

Context.getCacheDir

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