欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android清空應用內部文件緩存

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

Android應用中加載的圖片以及一些數據緩存怎么清掉呢?最近在做項目中遇到了這個問題,網上搜了一下找到了不少的源代碼,綜合了這些源碼,下面給大家說一下吧,怎么有效的清除應用內存的緩存信息?

清除應用內部緩存主要包含以下幾大模塊:

一、清除應用本地所有數據庫緩存

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

二、清除本應用SharePreference數據

/** 
 * * 清除本應用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數據

/** * 清除/data/data/com.xxx.xxx/files下的內容 * * @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下的數據

/** 
 * * 清除外部cache下的內容(/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()); 
  } 
} 
最后怎么獲取這些數據的大小呢?貼上源碼:
/** 
   * 獲取文件夾大小 
   * @param file File實例 
   * @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; 
  } 

主要就是遍歷文件夾,獲取文件夾中的文件的大小,獲取緩存大小。如果應用內的一些緩存圖片不希望被刪除,還是將緩存的圖片放到指定的文件夾中,刪除的時候不要刪除該文件夾,這樣就不會因為清空緩存而重新加載圖片了。

以上就是關于Android清空應用內部文件緩存方法的詳細介紹,希望對大家的學習有所幫助。

相關文章

  • Flutter?Widget開發(fā)之Focus組件圖文詳解

    Flutter?Widget開發(fā)之Focus組件圖文詳解

    這篇文章主要為大家介紹了Flutter?Widget開發(fā)之Focus組件圖文詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Android getBackground().setAlpha遇到問題解決辦法

    Android getBackground().setAlpha遇到問題解決辦法

    這篇文章主要介紹了Android getBackground().setAlpha遇到問題解決辦法的相關資料用,getBackground().setAlpha,導致其他布局背景透明度都改變的問題,需要的朋友可以參考下
    2017-03-03
  • 淺談 Android 7.0 多窗口分屏模式的實現

    淺談 Android 7.0 多窗口分屏模式的實現

    這篇文章主要介紹了淺談 Android 7.0 多窗口分屏模式的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • Android編程之數據庫Sql編程實例分析

    Android編程之數據庫Sql編程實例分析

    這篇文章主要介紹了Android編程之數據庫Sql編程,實例分析了Android操作Sqlite數據庫的相關技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • 利用Jetpack?Compose實現繪制五角星效果

    利用Jetpack?Compose實現繪制五角星效果

    這篇文章主要為大家介紹了Jetpack?Compose如何使用自定義操作符實現繪制五角星效果,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-04-04
  • Android實現底部彈出按鈕菜單升級版

    Android實現底部彈出按鈕菜單升級版

    這篇文章主要為大家詳細介紹了Android實現底部彈出按鈕菜單的升級版,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • android屏幕圓角實現方法的示例代碼

    android屏幕圓角實現方法的示例代碼

    本篇文章主要介紹了android屏幕圓角實現方法的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • android開發(fā)之listView組件用法實例簡析

    android開發(fā)之listView組件用法實例簡析

    這篇文章主要介紹了android開發(fā)之listView組件用法,結合實例形式簡單分析了listView組件的相關屬性與使用技巧,需要的朋友可以參考下
    2016-01-01
  • Android實現閃屏歡迎界面

    Android實現閃屏歡迎界面

    這篇文章主要介紹了Android實現閃屏歡迎界面的相關資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Android仿微信5實現滑動導航條

    Android仿微信5實現滑動導航條

    這篇文章主要為大家詳細介紹了Android仿微信5實現滑動導航條,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08

最新評論