Android WebView 缓存详解 Android WebView 缓存是指在 Android 系统中,WebView 组件对网络资源的缓存机制。缓存机制可以减少网络请求的次数,提高页面加载速度和用户体验。但是,缓存机制也会带来一些问题,如缓存数据的更新和管理。 缓存类型 Android WebView 缓存有两种类型:页面缓存和数据缓存。 1. 页面缓存 页面缓存是指 WebView 在加载网页时,缓存 HTML、JS、CSS 等页面资源的机制。这些缓存资源是由于浏览器的行为而产生的,开发者只能通过配置 HTTP 响应头来影响浏览器的行为,从而间接地影响缓存数据。缓存的索引放在 `/data/data//databases`,对应的文件放在 `/data/data/package_name/cache/webviewCacheChromunm` 下。 2. 数据缓存 数据缓存分为 AppCache 和 DOM Storage 两种。AppCache 是指开发者可以自行控制的缓存资源,可以缓存 web 浏览器中的所有内容,从页面、图片到脚本、CSS 等等。AppCache 的大小通常是 5M。在 Android 上需要手动开启(setAppCacheEnabled),并设置路径(setAppCachePath)和容量(setAppCacheMaxSize),而 Android 中使用 ApplicationCache.db 来保存 AppCache 数据。 DOM Storage 是指存储一些简单的 key/value 对的数据,根据作用范围的不同,有 Session Storage 和 Local Storage 两种。Session Storage 用于会话级别的存储(页面关闭即消失),而 Local Storage 用于本地化存储(除非主动删除,否则数据永远不会过期)。在 Android 中可以手动开启 DOM Storage(setDomStorageEnabled),设置存储路径(setDatabasePath)。 WebView 缓存模式 WebView 缓存模式有五种: 1. LOAD_NO_CACHE:不使用缓存,只从网络获取数据 2. LOAD_CACHE_ONLY:不使用网络,只读取本地缓存数据 3. LOAD_DEFAULT:根据 cache-control 决定是否从网络上取数据 4. LOAD_CACHE_NORMAL:API level 17 中已经废弃,从 API level 11 开始作用同 LOAD_DEFAULT 模式 5. LOAD_CACHE_ELSE_NETWORK:只要本地有,无论是否过期,或者 no-cache,都使用缓存中的数据 根据需求缓存策略可为:判断是否有网络,有:使用 LOAD_DEFAULT/LOAD_NO_CACHE,无:使用 LOAD_CACHE_ELSE_NETWORK。 删除缓存数据 删除缓存数据可以使用以下方法: 1. webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); 2. webView.clearCache(true); 3. webView.clearHistory(); 4. webView.clearFormData(); 同时,也可以手动清除 WebView 缓存数据库和缓存文件: 1. 删除缓存数据库:deleteDatabase("webview.db"); deleteDatabase("webviewCache.db"); 2. 删除缓存文件:File appCacheDir = new File(getFilesDir().getAbsolutePath()+APP_CACAHE_DIRNAME); File webviewCacheDir = new File(getCacheDir().getAbsolutePath()+"/webviewCache");























- 粉丝: 2
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 浅论网络时代的高校思想政治工作.docx
- Project-Management-Plan-Template-项目管理计划模板.doc
- 项目管理经验交流材料.docx
- 工程认证背景下软件项目管理企业捐课模式分析.docx
- 物联网对计算机通信网络的影响及问题研究.docx
- 计算机在人事管理中的应用.docx
- 论述基层文物保护信息化建设存在的问题与解决对策.docx
- (源码)基于Python的智能家居自动化系统.zip
- 互联网金融企业财务管理中存在的问题及对策.docx
- 第四章企业会计信息化及其流程重组.doc
- 物联网在智慧校园中的应用分析.docx
- 大数据时代企业管理会计的机遇与挑战.docx
- 计算机网络远程控制系统及应用研究.docx
- 互联网+时代高职《外贸英语函电》多模态教学探究.docx
- 下一代通信网络的无线传输技术研究.doc
- 大数据一期课程中的机器学习相关内容


