Android实现WebView删除缓存的方法

来源:爱站网时间:2019-07-17编辑:网友分享
当浏览器加载HTML时,我们在数据/应用程序包下生成两个数据库和缓存文件夹,我们请求的URL记录存储在WebViewCache中,下文是爱站技术频道小编为大家整理的Android实现WebView删除缓存的方法,希望对你学习这方面有所帮助。

当浏览器加载HTML时,我们在数据/应用程序包下生成两个数据库和缓存文件夹,我们请求的URL记录存储在WebViewCache中,下文是爱站技术频道小编为大家整理的Android实现WebView删除缓存的方法,希望对你学习这方面有所帮助。

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

// 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;
}

打开关闭使用缓存:

//优先使用缓存:
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");

Android实现WebView删除缓存的方法的就给大家分享到这里了,如果大家还有什么看法,记得给我们留言,或者关注爱站技术频道!

上一篇:Android中使用socket使底层和framework通信的实现方法

下一篇:详解Android的异步任务AsyncTask的操作方法

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载