2010-12-29 8 views

答えて

7

このクラスを呼び出すと、インストールされているすべてのアプリケーションキャッシュファイルが計算され、単純に電話機から削除されます。これはデータベースや個人データの影響を受けません。それはあなたの携帯電話をブーストし、キャッシュファイルが削除されます

public class MyApplicationClass extends Application { 

    private static MyApplicationClass instance; 

    @Override 
    public void onCreate() 
    { 
     super.onCreate(); 
     instance = this; 
    } 

    public static MyApplication getInstance() { 
     return instance; 
    } 

    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(); 
    } 
} 
+0

これを行うには、ボタンにこれを行うにはMyApplicationClass.getInstance()を呼び出す必要があります。 onClickListener内からclearApplicationData()を呼び出す –

+0

コードドロップではなく、このコードの説明を追加できますか? – Iain

+0

このクラスを呼び出すと、インストールされているすべてのアプリケーションキャッシュファイルが計算され、データベースや個人データの影響を受けない電話機から削除されます。それはあなたの携帯電話をブーストし、速く、キャッシュファイルが削除されます –

関連する問題