webview和H5 清除缓存和缓存文件删除。
webview和H5 清除缓存和缓存文件删除。
缓存请看:http://blog.csdn.net/menglele1314/article/details/45717531
import java.io.File; import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.webkit.JsPromptResult;
import android.webkit.JsResult;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebSettings.RenderPriority;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast; public class MainActivity extendsActivity { privatestaticfinal String APP_CACAHE_DIRNAME ="/webcache"; privateTextView tv_topbar_title; privateRelativeLayout rl_loading; privateWebView mWebView; privateString url; @Override protectedvoidonCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); url ="http://www.sina.com.cn"; initView(); } privatevoidinitView() { tv_topbar_title = (TextView) findViewById(R.id.tv_topbar_title); rl_loading = (RelativeLayout) findViewById(R.id.rl_loading); mWebView = (WebView) findViewById(R.id.mWebView); initWebView(); mWebView.setWebViewClient(newWebViewClient() { @Override publicvoidonLoadResource(WebView view, String url) { super.onLoadResource(view, url); } @Override publicbooleanshouldOverrideUrlLoading(WebView webview, String url) { webview.loadUrl(url); returntrue; } @Override publicvoidonPageStarted(WebView view, String url, Bitmap favicon) { rl_loading.setVisibility(View.VISIBLE);// 显示加载界面 } @Override publicvoidonPageFinished(WebView view, String url) { String title = view.getTitle(); tv_topbar_title.setText(title); tv_topbar_title.setVisibility(View.VISIBLE); rl_loading.setVisibility(View.GONE);// 隐藏加载界面 } @Override publicvoidonReceivedError(WebView view,interrorCode, String description, String failingUrl) { rl_loading.setVisibility(View.GONE);// 隐藏加载界面 Toast.makeText(getApplicationContext(),"", Toast.LENGTH_LONG).show(); } }); mWebView.setWebChromeClient(newWebChromeClient() { @Override publicbooleanonJsAlert(WebView view, String url, String message, JsResult result) { Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show(); result.confirm(); returntrue; } @Override publicbooleanonJsConfirm(WebView view, String url, String message, JsResult result) { returnsuper.onJsConfirm(view, url, message, result); } @Override publicbooleanonJsPrompt(WebView view, String url, String message, String defaultValue, JsPromptResult result) { returnsuper.onJsPrompt(view, url, message, defaultValue, result); } }); mWebView.loadUrl(url); } privatevoidinitWebView() { mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setRenderPriority(RenderPriority.HIGH); mWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); //设置 缓存模式选择自己想要的模式// 开启 DOM storage API 功能 mWebView.getSettings().setDomStorageEnabled(true); //开启 database storage API 功能 mWebView.getSettings().setDatabaseEnabled(true); String cacheDirPath = getFilesDir().getAbsolutePath()+APP_CACAHE_DIRNAME; //设置数据库缓存路径 mWebView.getSettings().setDatabasePath(cacheDirPath); //设置 Application Caches 缓存目录 mWebView.getSettings().setAppCachePath(cacheDirPath); //开启 Application Caches 功能 mWebView.getSettings().setAppCacheEnabled(true); } /*** 清除WebView缓存 在onDestroy调用这个方法就可以了*/ publicvoidclearWebViewCache(){ //清理Webview缓存数据库 try{ deleteDatabase("webview.db"); deleteDatabase("webviewCache.db"); }catch(Exception e) { e.printStackTrace(); } //WebView 缓存文件 File appCacheDir =newFile(getFilesDir().getAbsolutePath()+APP_CACAHE_DIRNAME); Log.e(TAG,"appCacheDir path="+appCacheDir.getAbsolutePath()); File webviewCacheDir =newFile(getCacheDir().getAbsolutePath()+"/webviewCache"); Log.e("path===","webviewCacheDir path="+webviewCacheDir.getAbsolutePath()); //删除webview 缓存目录 if(webviewCacheDir.exists()){ deleteFile(webviewCacheDir); } //删除webview 缓存 缓存目录 if(appCacheDir.exists()){ deleteFile(appCacheDir); } } /*** 递归删除 文件/文件夹* * @param file*/ publicvoiddeleteFile(File file) { Log.i(TAG,"delete file path="+ file.getAbsolutePath()); if(file.exists()) { if(file.isFile()) { file.delete(); }elseif(file.isDirectory()) { File files[] = file.listFiles(); for(inti = 0; i < files.length; i++) { deleteFile(files[i]); } } file.delete(); }else{ Log.e("delete===","delete file no exists "+ file.getAbsolutePath()); } } }
webview和H5 清除缓存和缓存文件删除。相关推荐
- 微信小程序webview清除缓存、微信公众号h5清除缓存、页面白屏、空白、不刷新问题
一.缓存带来的问题和原因 我们在发布新版本的时候,在打开微信小程序webview嵌套的h5页面或微信公众号h5页面时,常常会发现页面还是上个版本的旧页面或者打开直接空白 白屏了,那么为什么会存在这个问 ...
- mui 打开openWindow新页面不读取缓存的设置/mui中h5清除缓存页面的办法
styles参数增加 cachemode:"noCache", 字段 //打开关于页面mui.openWindow({url: localStorage.getItem('tes ...
- webview 清除缓存的方式
不可用方式: webView.clearCache(true);//清除缓 可用方式: //清空所有CookieCookieSyncManager.createInstance(getApplicat ...
- python清除缓存的命令_python怎么删除缓存文件
python删除缓存文件的方法: 首先输入"find.-name '__pycache__' -type d -exec rm -rf {} \"命令删除所有子目录: 然后输入&q ...
- html5清除手机页面缓存文件夹,WebView自动缓存-清除缓存
iOS的Webview加载HTML时会自动缓存JS.CSS等文件,当下次加载HTML时会根据请求的缓存策略是否使用缓存本地的JS和CSS,如果本地有缓存,那么直接返回本地资源(判断是否过期):如果没有 ...
- 清楚linux缓存文件,Linux删除文件 清除缓存
相信很多测试 经常会经历开发叫你清除缓存这种事. 那我们要怎么清呢? 一.首先,确认你要清除的缓存在哪个目录下,然后切换到该目录下,比如 我现在知道我的的缓存目录是在newerp这个目录下,则如图 二 ...
- WebView自动H5缓存-清除缓存ios
iOS的Webview加载HTML时会自动缓存JS.CSS等文件,当下次加载HTML时会根据请求的缓存策略是否使用缓存本地的JS和CSS,如果本地有缓存,那么直接返回本地资源(判断是否过期):如果没有 ...
- android WebView清除缓存
当我们加载Html时候,会在我们data/应用package下生成database与cache两个文件夹,我们请求的Url记录是保存在webviewCache.db里,而url的内容是保存在webvi ...
- 安卓使用WebView清除缓存
Android 清除WebView缓存 最近项目中需要用WebView显示内容,需要使用JavaScript去交互,但是每次加载都加载到了缓存的数据,这里记录一下如何去清除WebView缓存. 首先要 ...
最新文章
- 恩平服务器维修,四月 2021 | EDUP
- 全球农业南南合作论坛 唐盛尧:对话国际农民丰收节贸易会
- php e notice,PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
- 登陆SQL Server 2008时提示评估期已过的解决办法
- centos5安装oracle11,CentOS 6.5 x64 安装 Oracle11g R2
- 【转载】ASP.NET MVC中Controller与View之间的数据传递总结
- Leecode 入门--单链表-- 递归操作
- 你和高级工程师的差距在哪里?
- 祝贺泰山OFFICE CDKEY长度25,吾已成为顶级CDKEY砖家
- python 有限域函数库_有限域:计算矩阵的逆
- AUTOCAD——形位公差如何标注、CAD打断于点的操作
- python List去重
- android背景置灰,android view置灰(哀悼日)
- 简述敏捷团队,XP团队的特点。
- Java生成海报带二维码,原图或base64返回
- numpy flatten函数
- 【纪中受难记】——Day21:调整心态
- 从输入 url 到页面展示到底发生了什么
- 深入理解计算机系统(CSAPP) attack-lab详解
- JavaSE 第七章集合 Collection
热门文章
- fliqlo时钟屏保win7/win10/win8下载
- 关于考试系统的ajax提交单个答案的压力测试
- ARM简介及Cortex-A9
- 真分数转埃及分数的和 (贪心)
- 计算机软件水平高级考试内容,全国计算机软件专业资格和水平考试高级程序员级试题及答案.docx...
- greenplum 安装与初始化单机版
- 将行政区划代码转换为SQL的简便做法
- mysql数据库 mdf 文件_如何连接到MDF数据库文件?
- 安卓app新版本的检测与更新(升级)
- python金融分析小知识(30)——比较常见的pd.set_option的使用