亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android清空應(yīng)用內(nèi)部文件緩存

 更新時(shí)間:2016年01月26日 15:04:24   作者:Hankkin  
這篇文章主要介紹了Android清空應(yīng)用內(nèi)部文件緩存的相關(guān)資料,需要的朋友可以參考下

Android應(yīng)用中加載的圖片以及一些數(shù)據(jù)緩存怎么清掉呢?最近在做項(xiàng)目中遇到了這個(gè)問題,網(wǎng)上搜了一下找到了不少的源代碼,綜合了這些源碼,下面給大家說一下吧,怎么有效的清除應(yīng)用內(nèi)存的緩存信息?

清除應(yīng)用內(nèi)部緩存主要包含以下幾大模塊:

一、清除應(yīng)用本地所有數(shù)據(jù)庫緩存

/** * 清除本應(yīng)用所有數(shù)據(jù)庫(/data/data/com.xxx.xxx/databases) * * @param context */ 
public static void cleanDatabases(Context context) { 
  deleteFilesByDirectory(new File("/data/data/" 
      + context.getPackageName() + "/databases")); 
} 

二、清除本應(yīng)用SharePreference數(shù)據(jù)

/** 
 * * 清除本應(yīng)用SharedPreference(/data/data/com.xxx.xxx/shared_prefs) * * @param 
 * context 
 */ 
public static void cleanSharedPreference(Context context) { 
  deleteFilesByDirectory(new File("/data/data/" 
      + context.getPackageName() + "/shared_prefs")); 
} 

三、清除data/data/com.xxx.xxx/files數(shù)據(jù)

/** * 清除/data/data/com.xxx.xxx/files下的內(nèi)容 * * @param context */ 
public static void cleanFiles(Context context) { 
  File sdDir = Environment.getExternalStorageDirectory();//獲取跟目錄 
  sdDir = new File(sdDir.getPath()+File.separator+"xxx"); 
 
  sdDir = new File(sdDir.getPath() +File.separator+ "files"); 
 
  deleteFilesByDirectory(sdDir); 
} 

四、清除外部cache下的數(shù)據(jù)

/** 
 * * 清除外部cache下的內(nèi)容(/mnt/sdcard/android/data/com.xxx.xxx/cache) * * @param 
 * context 
 */ 
public static void cleanExternalCache(Context context) { 
  if (Environment.getExternalStorageState().equals( 
      Environment.MEDIA_MOUNTED)) { 
    deleteFilesByDirectory(context.getExternalCacheDir()); 
  } 
} 
最后怎么獲取這些數(shù)據(jù)的大小呢?貼上源碼:
/** 
   * 獲取文件夾大小 
   * @param file File實(shí)例 
   * @return long 
   */ 
  public static long getFolderSize(java.io.File file){ 
 
    long size = 0; 
    try { 
      java.io.File[] fileList = file.listFiles(); 
      for (int i = 0; i < fileList.length; i++) 
      { 
          if (fileList[i].isDirectory()) 
          { 
            size = size + getFolderSize(fileList[i]); 
 
          }else{ 
            size = size + fileList[i].length(); 
 
          } 
        } 
 
      } 
    } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
    } 
    //return size/1048576; 
    return size; 
  } 

主要就是遍歷文件夾,獲取文件夾中的文件的大小,獲取緩存大小。如果應(yīng)用內(nèi)的一些緩存圖片不希望被刪除,還是將緩存的圖片放到指定的文件夾中,刪除的時(shí)候不要?jiǎng)h除該文件夾,這樣就不會(huì)因?yàn)榍蹇站彺娑匦录虞d圖片了。

以上就是關(guān)于Android清空應(yīng)用內(nèi)部文件緩存方法的詳細(xì)介紹,希望對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)文章

最新評(píng)論