服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - Android实现WebView删除缓存的方法

Android实现WebView删除缓存的方法

2021-03-28 17:59无鸯 Android

这篇文章主要介绍了Android实现WebView删除缓存的方法,实例分析了Android针对WebView操作缓存的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

延伸 · 阅读

精彩推荐