Как удалить кэш-папку приложения?

Я прочитал документацию кэш-памяти Android (см. Документацию по хранению данных ), но у меня не получилось, как я могу очистить всю папку.

Итак, как я могу удалить папку кеша моего приложения? Это на этом пути:

/Android/data/de.stepforward/cache/

Solutions Collecting From Web of "Как удалить кэш-папку приложения?"

Поместите этот код в onDestroy (), чтобы очистить кеш приложения:

void onDestroy() { super.onDestroy(); try { trimCache(this); // Toast.makeText(this,"onDestroy " ,Toast.LENGTH_LONG).show(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void trimCache(Context context) { try { File dir = context.getCacheDir(); if (dir != null && dir.isDirectory()) { deleteDir(dir); } } catch (Exception e) { // TODO: handle exception } } public static boolean deleteDir(File dir) { if (dir != null && dir.isDirectory()) { String[] children = dir.list(); for (int i = 0; i < children.length; i++) { boolean success = deleteDir(new File(dir, children[i])); if (!success) { return false; } } } // The directory is now empty so delete it return dir.delete(); } 

Вы можете использовать приведенный здесь код:

https://stackoverflow.com/a/7600257/327011

 File cacheDir = context.getCacheDir(); File[] files = cacheDir.listFiles(); if (files != null) { for (File file : files) file.delete(); } 

Вместо того, чтобы перематывать свои собственные методы утилиты, вы можете захотеть использовать библиотеку FileUtils apache commons. Он содержит множество полезных методов манипулирования файлами и делает операции, подобные этому очень тривиальным.

Вот JavaDocs

И вот пример:

 try { FileUtils.deleteDirectory(context.getCacheDir()); } catch (IOException e) { Log.e(LOGTAG,"Error deleting cache dir", e); } 

Вместо того, чтобы удалять весь каталог кэша, вы можете создать подкаталоги в каталоге кэша приложения для определенных данных. Чем вы можете удалить эти конкретные каталоги при необходимости (например, при выходе пользователя).

Из документации:

Сохранение файлов кеша

Если вы хотите кэшировать некоторые данные, а не сохранять их настойчиво, вы должны использовать getCacheDir (), чтобы открыть файл, который представляет собой внутренний каталог, в котором ваше приложение должно сохранять временные файлы кеша.

Когда устройство находится на низком внутреннем пространстве памяти, Android может удалить эти кеш-файлы для восстановления пространства. Однако вы не должны полагаться на систему, чтобы очистить эти файлы для вас. Вы всегда должны хранить файлы кеша самостоятельно и оставаться в пределах разумного предела потребляемого пространства, например 1 МБ. Когда пользователь удаляет ваше приложение, эти файлы удаляются.

Создайте метод для рекурсии через папку и удалите их, если это то, что вы хотите сделать.