webview和H5 清除缓存和缓存文件删除。
来源:互联网 发布:java静态网页 编辑:程序博客网 时间:2024/05/01 03:35
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()); } } }
1 0
- webview和H5 清除缓存和缓存文件删除。
- Nginx反向代理和缓存服务和手动清除缓存模块purge的配置
- 计算和清除webview缓存
- webview交互和缓存分析
- 缓存穿透和缓存失效的预防和解决
- 缓存穿透和缓存失效的预防和解决
- 缓存穿透和缓存失效的预防和解决
- 缓存穿透和缓存雪崩的预防和解决-Redis
- 磁盘缓存和缓存命中率
- 缓存雪崩和缓存穿透
- 缓存雪崩和缓存穿透
- 缓存穿透和缓存雪崩
- wkwebview删除cookes和缓存
- 缓存雪崩和缓存穿透和缓存失效
- 缓存、缓存算法和缓存框架比较
- 缓存、缓存算法和缓存框架简介
- 缓存、缓存算法和缓存框架简介
- 缓存、缓存算法和缓存框架简介
- 用起来超爽的Maven——进阶篇
- MySQL 数据类型
- GDB十分钟教程
- USB HID介绍
- 陈怡暖:黄金再创新高,但追多需谨慎
- webview和H5 清除缓存和缓存文件删除。
- JQuery的extend方法详解
- Linux 实时时钟驱动程序
- 欢迎使用CSDN-markdown编辑器
- MySql noinstall-5.1.34-win32 配置
- Linux常用命令大全
- leetcode|Median of Two Sorted Arrays
- C语言 求旋转数组的最小元素
- 黑马程序员———与文件相关的类