how to clear data cache of the application through code

前端 未结 2 469
逝去的感伤
逝去的感伤 2020-12-14 23:43

i want to clear data cache programmatic of my application that is increasing, right now i am clearing from Settings->Applications->Manage Application->My Application->Clear

2条回答
  •  囚心锁ツ
    2020-12-15 00:35

    When you calling this class, it`ll calculate all installed application cache files and then simply delete it from your phone, which are not affected to database or your personal data. it will boost your phone and make it faster, cache file is removed

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

提交回复
热议问题