当前位置:首页 > Android > 正文内容

Android WebView删除缓存

jsc9年前 (2016-09-19)Android3709

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

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


activity中的代码:

webView.clearCache(true);
clearCacheFolder(getApplicationContext().getCacheDir(),
System.currentTimeMillis());
getApplicationContext().deleteDatabase("webview.db");
getApplicationContext().deleteDatabase("webviewCache.db");
clearCacheFolder(getApplicationContext().getCacheDir(),
System.currentTimeMillis());
getApplicationContext().deleteDatabase("webview.db");
getApplicationContext().deleteDatabase("webviewCache.db");


2. 打开关闭使用缓存   

//优先使用缓存:
WebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);      
//不使用缓存:    
WebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

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

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");

扫描二维码推送至手机访问。

版权声明:本文由微小站发布,如需转载请注明出处。

本文链接:https://www.jsc0.com/post/125.html

标签: WebView缓存
分享给朋友:

“Android WebView删除缓存” 的相关文章

Android Location在GPS中的应用(一)

Android Location在GPS中的应用(一)

新建AndroidProject,注意选择Google APIs:  打开AndroidManifest.xml,在其中加入GPS使用权限: <uses-permission android:name="android.permission.ACCESS_COARSE_LO...

android上传图片至服务器

本实例实现了android上传手机图片至服务器,服务器进行保存服务器servlet代码publicvoid doPost(HttpServletRequest request, HttpServletResponse response)  ...

下拉刷新及滚动到底部加载更多的Listview使用

下拉刷新及滚动到底部加载更多的Listview使用

本文主要介绍可同时实现下拉刷新及滑动到底部加载更多的ListView的使用。 该ListView优点包括:a. 可自定义下拉响应事件(如下拉刷新)  b.可自定义滚动到底部响应的事件(如滑动到底部加载更多)  c.可自定义丰富的样式  d....

Android 学习之 开源项目PullToRefresh的使用

Android 学习之 开源项目PullToRefresh的使用

首先 下载 Android-PullToRefresh-master 下载地址  https://github.com/chrisbanes/Android-PullToRefresh 下载之...

获取Android手机中SD卡存储信息

SD卡作为手机的扩展存储设备,在手机中充当硬盘角色,可以让我们手机存放更多的数据以及多媒体等大体积文件。因此查看SD卡的内存就跟我们查看硬盘的剩余空间一样,是我们经常操作的一件事,那么在Android开发中,我们如何能获取SD卡的内存容量呢?首先,要获取SD卡上面的信息,必须先对SD卡有访问的权限,...

Sipnner点击相同Item不响应的解决方法

Spinner,两次点击同一个item的时候,第二次会不响应OnItemSelect事件。解决方法:@Override public void onItemSelected(AdapterView<?> arg0, View arg1,...