Android WebView删除缓存


1.删除保存于手机上的缓存.

  1. // clear the cache before time numDays     
  2. private int clearCacheFolder(File dir, long numDays) {          
  3.     int deletedFiles = 0;         
  4.     if (dir!= null && dir.isDirectory()) {             
  5.         try {                
  6.             for (File child:dir.listFiles()) {    
  7.                 if (child.isDirectory()) {              
  8.                     deletedFiles += clearCacheFolder(child, numDays);          
  9.                 }    
  10.                 if (child.lastModified() < numDays) {     
  11.                     if (child.delete()) {                   
  12.                         deletedFiles++;           
  13.                     }    
  14.                 }    
  15.             }             
  16.         } catch(Exception e) {       
  17.             e.printStackTrace();    
  18.         }     
  19.     }       
  20.     return deletedFiles;     
  21. }    

调用:clearCacheFolder(Activity.getCacheDir(), System.currentTimeMillis());//删除此时之前的缓存.


2. 打开关闭使用缓存:

    优先使用缓存:

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

   不使用缓存:

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


3.在退出应用的时候加上如下代码:

  1. File file = CacheManager.getCacheFileBaseDir();  
  2.    if (file != null && file.exists() && file.isDirectory()) {  
  3.     for (File item : file.listFiles()) {  
  4.      item.delete();  
  5.     }  
  6.     file.delete();  
  7.    }  
  8.   
  9.   context.deleteDatabase("webview.db");  
  10.   context.deleteDatabase("webviewCache.db");  

相关内容