Очистить кеш приложений при выходе в Android

Я хочу, чтобы очистить кэш-память приложения при выходе из приложения.

эту задачу я могу сделать вручную с помощью этих шагов.

Управление приложениями -> «Мое приложение» -> Очистить кеш >>

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

Заранее спасибо..

Попробуй это –

import java.io.File; import android.app.Activity; import android.content.Context; import android.os.Bundle; public class HelloWorld extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle *) { super.onCreate(*); setContentView(R.layout.main); } @Override protected void onStop(){ super.onStop(); } //Fires after the OnStop() state @Override protected void onDestroy() { super.onDestroy(); try { trimCache(this); } 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(); } } 

См. Эти ссылки -

  • как к сплошнолесосечным данным кэша-оф-приложения с помощью кода

Чтобы очистить данные приложения, попробуйте этот способ. Я думаю, это поможет вам.

 public void clearApplicationData() { File cache = getCacheDir(); File appDir = new File(cache.getParent()); if (appDir.exists()) { String[] children = appDir.list(); for (String s : children) { if (!s.equals("lib")) { deleteDir(new File(appDir, s));Log.i("TAG", "**************** File /data/data/APP_PACKAGE/" + s + " DELETED *******************"); } } } } 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; } } } return dir.delete(); } 

Просто разъяснение, ответы работают правильно, за исключением того, что вам нужно передать контекст приложения в trimCache вместо контекста Activity (чтобы избежать утечки памяти), поскольку trimCache является статическим методом.

  @Override protected void onDestroy() { super.onDestroy(); try { trimCache(getApplicationContext()); //if trimCache is static } catch (Exception e) { e.printStackTrace(); } } 

Однако в противном случае вы можете сделать trimCache нестатичным, и нет необходимости передавать какой-либо Контекст.

 public void trimCache() { try { File dir = getCacheDir(); if (dir != null && dir.isDirectory()) { deleteDir(dir); } } catch (Exception e) { // TODO: handle exception } } 
  • Варианты кеширования / заметок / hashирования в R
  • Новое кэширование изображений Gmail разбивает ссылки на изображения в информационном бюллетене
  • Как настроить кеш статического содержимого для каждой папки и расширения в IIS7?
  • Отключить кеш браузера для всего веб-сайта ASP.NET
  • Кэширование ответа HTTP
  • Расseleniumие изображения UIImageNamed: FUD
  • Как предотвратить кэширование страницы html5?
  • Система кэширования System.Web.Caching и Enterprise Library
  • Каков наилучший способ блокировки кеша в asp.net?
  • Как удалить кэш других приложений из нашего приложения для Android?
  • Остановить jQuery .load от кеширования
  • Interesting Posts

    Являются ли статические вызовы Java более или менее дорогостоящими, чем нестатические вызовы?

    Что такое аспектно-ориентированное программирование?

    Чтение данных из XML

    Чтение streamов из java Runtime.exec

    Где можно найти демонстрацию переполнения буфера?

    Остановка PDF-файлов от отображения в Google Chrome

    Извлекать сообщения из файлов OST / PST?

    System.loadLibrary (…) не смог найти родную библиотеку в моем случае

    Как сопоставить составной ключ с Hibernate?

    Перемещение и исчезновение строк кода; проблема с XML-редактором Eclipse

    Почему Windows использует обратную косую черту для путей и косые черты Unix?

    Зачем использовать iteratorы вместо индексов массива?

    NTFS жесткий диск не смонтирован, как переформатировать в Journaled HFS + и сохранить данные

    Что такое rvalues, lvalues, xvalues, glvalues ​​и prvalues?

    Нет сообщения обратной связи при запуске функций, которые предположительно генерируют сообщения

    Давайте будем гением компьютера.