2010-12-29 17 views

risposta

7

Quando si chiama questa classe, tutti i file della cache dell'applicazione installati vengono calcolati e quindi semplicemente eliminati dal telefono, che non sono interessati dal database o dai dati personali dell'utente. amplificherà il telefono e renderlo più veloce, file di cache viene rimosso

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

se si desidera un pulsante per fare questo è necessario chiamare MyApplicationClass.getInstance(). clearApplicationData() dall'interno di onClickListener –

+0

Puoi aggiungere una spiegazione di cosa fa questo codice, piuttosto che solo una caduta di codice. – Iain

+0

quando si chiama questa classe, tutti i file della cache dell'applicazione installati vengono calcolati e quindi semplicemente eliminati dal telefono che non sono interessati dal database o dai dati personali dell'utente. aumenterà il tuo telefono e lo renderà più veloce, il file di cache verrà rimosso –

Problemi correlati