首页 > 代码库 > (十八)计算应用程序所有的缓存信息和删除应用程序的所有缓存数据

(十八)计算应用程序所有的缓存信息和删除应用程序的所有缓存数据

一、计算应用程序所有的缓存信息,包括内部\外部缓存信息,数据库,SharedPreference,files目录的文件大小之和

/**     * 计算应用程序所有的缓存信息,包括内部\外部缓存信息,数据库,SharedPreference,files目录的文件大小之和     *      * @param context     * @return     */    public String computeAllCacheSize(Context context) {        long fileSize = 0;        String cacheSize = "0KB";                File cacheDir = context.getCacheDir(); // /data/data/包名/cache        System.out.println("cache缓存的路径:" + cacheDir);        fileSize += getDirSize(cacheDir);        File dataFileDir = context.getFilesDir();        fileSize += getDirSize(dataFileDir);        File dataBaseFileDir = new File(("/data/data/"                + context.getPackageName() + "/databases"));        fileSize += getDirSize(dataBaseFileDir);        File externalCacheDirFile = context.getExternalCacheDir();        fileSize += getDirSize(externalCacheDirFile);        File shared_prefs = new File("/data/data/" + context.getPackageName()                + "/shared_prefs");        fileSize += getDirSize(shared_prefs);        if (fileSize > 0) {            cacheSize = TextFormater.getDataSize(fileSize);        }        return cacheSize;    }

二、

删除应用程序的所有缓存数据,包括内部\外部缓存信息,数据库,SharedPreference,files目录
/**     * 删除应用程序的所有缓存数据,包括内部\外部缓存信息,数据库,SharedPreference,files目录     *      * @param context     */    public void clearAppAllCache(Context context) {        // 清除 /data/data/ package_name /cache(应用缓存)缓存信息:存放缓存数据        File cacheFileDir = context.getCacheDir();        clearCacheFolder(cacheFileDir);        // /data/data/package_name/files:存放应用程序自己控制的文件        File dataFileDir = context.getFilesDir();        clearCacheFolder(dataFileDir);        // 清除某应用所有数据库(/data/data/包名/databases)        File dataBaseFileDir = new File(("/data/data/"                + context.getPackageName() + "/databases"));        clearCacheFolder(dataBaseFileDir);        // 清除某应用程序外部cache下((/mnt/sdcard/android/data/包名/cache)的内容        if (Environment.getExternalStorageState().equals(                Environment.MEDIA_MOUNTED)) {            File externalCacheDirFile = context.getExternalCacheDir();            clearCacheFolder(externalCacheDirFile);        }        // 清除某应用程序((/data/data/包名/shared_prefs))的内容        File shared_prefs = new File("/data/data/" + context.getPackageName()                + "/shared_prefs");        clearCacheFolder(shared_prefs);    }

 

(十八)计算应用程序所有的缓存信息和删除应用程序的所有缓存数据