<android>清除應用緩衝的方法

來源:互聯網
上載者:User

以下方法為網上找到的方法:


一、


 如何刪除項目的緩衝:

getCacheDir()能夠得到當前項目的緩衝地址

在項目中經常會使用到WebView 控制項,當載入html 頁面時,會在/data/data/應用package 目錄下產生database與cache 兩個檔案夾。請求的url 記錄是儲存在WebViewCache.db,而url 的內容是儲存在WebViewCache 檔案夾下


開啟關閉使用緩衝,一共有五個種類

//優先使用緩衝:

WebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);

//不使用緩衝:

WebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

在退出應用的時候加上如下代碼

  File file = CacheManager.getCacheFileBaseDir();   if (file != null && file.exists() && file.isDirectory()) {   for (File item : file.listFiles()) {     item.delete();}     file.delete();}  context.deleteDatabase("WebView.db");  context.deleteDatabase("WebViewCache.db");        File file = CacheManager.getCacheFileBaseDir();       if (file != null && file.exists() && file.isDirectory()) {       for (File item : file.listFiles()) {         item.delete();}         file.delete();}      context.deleteDatabase("WebView.db");      context.deleteDatabase("WebViewCache.db");

二、


我們在做軟體時,當程式裡使用了webview,就會緩衝了很多東西,所以要清除一下,才能讓軟體跑的更快。實際上是清除data檔案夾下面的cache,以及databases檔案夾下面的東西。

用下面代碼去處理,可以把兩個檔案夾下面的東西刪除

 

clearCacheFolder(BaseActivity.this.getCacheDir(), System.currentTimeMillis());     BaseActivity.this.deleteDatabase("webview.db");      BaseActivity.this.deleteDatabase("webviewCache.db");  clearCacheFolder(BaseActivity.this.getCacheDir(), System.currentTimeMillis());     BaseActivity.this.deleteDatabase("webview.db");     BaseActivity.this.deleteDatabase("webviewCache.db");

被調用的方法:

  

private int clearCacheFolder(File dir, long numDays) {                   int deletedFiles = 0;                  if (dir!= null && dir.isDirectory()) {                          try {                                 for (File child:dir.listFiles()) {                        LogUtlis.i("info", "child=========="+child.getName());                     if (child.isDirectory()) {                                       deletedFiles += clearCacheFolder(child, numDays);                               }                         if (child.lastModified() < numDays) {                              if (child.delete()) {                                                deletedFiles++;                                    }                         }                     }                          } catch(Exception e) {                        e.printStackTrace();                 }              }                return deletedFiles;          }  private int clearCacheFolder(File dir, long numDays) {                int deletedFiles = 0;               if (dir!= null && dir.isDirectory()) {                       try {                              for (File child:dir.listFiles()) {                      LogUtlis.i("info", "child=========="+child.getName());                    if (child.isDirectory()) {                                    deletedFiles += clearCacheFolder(child, numDays);                            }                      if (child.lastModified() < numDays) {                           if (child.delete()) {                                             deletedFiles++;                                 }                      }                  }                       } catch(Exception e) {                     e.printStackTrace();              }           }             return deletedFiles;       } 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.