Android实现WebView删除缓存的方法

时间:2022-05-12 03:25:42

本文实例讲述了Android实现WebView删除缓存的方法。分享给大家供大家参考。具体如下:

删除保存于手机上的缓存:

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

打开关闭使用缓存:

?
1
2
3
4
//优先使用缓存:
WebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
//不使用缓存:
WebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

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

?
1
2
3
4
5
6
7
8
9
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");

希望本文所述对大家的Android程序设计有所帮助。