Моя папка кеша в Android пуста.Должен ли я создать это? - PullRequest
2 голосов
/ 21 июня 2010

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

Ответы [ 3 ]

3 голосов
/ 21 июня 2010

Не используйте это. Для этого ответа существует проблема с документацией: Как использовать Android CacheManager? . Используйте Context#getCacheDir для директории кеша, специфичной для вашего приложения. Вы должны будете сделать все управление кешем самостоятельно, однако инфраструктура будет управлять содержимым на нехватке дискового пространства и когда ваше приложение будет удалено.

2 голосов
/ 21 июня 2010

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

File cacheDir;
//Choose chache directory
if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
  cacheDir=new File(android.os.Environment.getExternalStorageDirectory(),"MyCache");
else
  cacheDir=context.getCacheDir();
//File in cache directory
File f=new File(cacheDir, "file.txt");
1 голос
/ 08 сентября 2011

Рекомендуется использовать Context.getExternalCacheDir ().

Это местоположение будет доступно только для вашего приложения, и этот API удалит это местоположение при удалении приложения с устройства Android. Чтобы использовать это, вы должны сделать следующее заявление в качестве записи в AndroidManifest.xml

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...