webview的缓存机制

原创 2015年11月18日 15:57:50

WebView的缓存可以分为页面缓存和数据缓存。
页面缓存是指加载一个网页时的html、JS、CSS等页面或者资源数据。这些缓存资源是由于浏览器的行为而产生,开发者只能通过配置HTTP响应头影响浏览器的行为才能间接地影响到这些缓存数据。
他们的索引存放在/data/data/package_name/databases下。他们的文件存放在/data/data/package_name/cache/xxxwebviewcachexxx下。文件夹的名字在2.x和4.x上有所不同,但都文件夹名字中都包含webviewcache。

数据缓存分为两种:AppCache和DOM Storage(Web Storage)。他们是因为页面开发者的直接行为而产生。所有的缓存数据都由开发者直接完全地掌控。
AppCache使我们能够有选择的缓冲web浏览器中所有的东西,从页面、图片到脚本、css等等。尤其在涉及到应用于网站的多个页面上的CSS和JavaScript文件的时候非常有用。其大小目前通常是5M。
在Android上需要手动开启(setAppCacheEnabled),并设置路径(setAppCachePath)和容量(setAppCacheMaxSize)
Android中Webkit使用一个db文件来保存AppCache数据(my_path/ApplicationCache.db)

如果需要存储一些简单的用key/value对即可解决的数据,DOM Storage是非常完美的方案。根据作用范围的不同,有Session Storage和Local Storage两种,分别用于会话级别的存储(页面关闭即消失)和本地化存储(除非主动删除,否则数据永远不会过期)。
在Android中可以手动开启DOM Storage(setDomStorageEnabled),设置存储路径(setDatabasePath)
Android中Webkit会为DOM Storage产生两个文件(my_path/localstorage/http_h5.m.taobao.com_0.localstorage和my_path/localstorage/Databases.db)

另外,在Android中清除缓存时,如果需要清除Local Storage的话,仅仅删除Local Storage的本地存储文件是不够的,内存里面有缓存数据。如果再次进入页面,Local Storage中的缓存数据同样存在。需要杀死程序运行的当前进程再重新启动才可以。

Android WebView缓存机制详解

转自时之沙: http://blog.csdn.net/t12x3456 Android WebView缓存机制 当我们加载Html时候,会在我们data/应用packag...
  • clh604
  • clh604
  • 2014年04月01日 15:57
  • 2834

Android WebView - 全面总结(概述、捕获url、js交互、小技巧、内存泄漏、缓存机制)

前言结合H5页面开发的App日渐多了起来,而WebView正是Html与Native的纽带,今天就借着一个新的项目需求顺便做一下WebView的知识总结,如有错漏,恳请大家指点指点。(项目需求:将适配...
  • Goo_x
  • Goo_x
  • 2016年07月29日 16:05
  • 2361

webview 缓存机制详解

WebView缓存机制 Android APP加载Html页面时,在以下路径会产生缓存文档: /data/data/package_name/cache/xxxwebviewCachexxx    ...
  • jamkier
  • jamkier
  • 2015年05月19日 22:36
  • 2385

Android WebView 缓存机制和模式详解

当我们加载Html时候,会在我们data/应用package下生成database与cache两个文件夹: 我们请求的Url记录是保存在webviewCache.db里,而url的内容是保存在webv...

H5 和移动端 WebView 缓存机制解析与实战

web缓存是web开发逃不开的一个话题,在减少网络带宽消耗、降低服务器压力和提高页面打开速度方面有广泛应用。本文从实际web应用项目中缓存相关问题出发,较为全面地分析了html5缓存机制的原理与应用以...

Android WebView 的缓存机制 & 资源预加载方案

前言 由于H5具备 开发周期短、灵活性好 的特点,所以现在 Android App大多嵌入了 Android Webview 组件进行 Hybrid 开发但我知道你一定在烦恼 Android...

android webview的缓存机制

在运行安卓程序时,报错DatabaseObjectNotClosedException 运行是/data/data/package/databases/ e...

Android webView缓存机制

转自:http://www.eoeandroid.com/thread-190311-1-1.html 在项目中经常会使用到WebView控件,当加载html页面时,会在/data/data/应用p...

Android WebView缓存机制

如有转载,请声明出处: 时之沙: http://blog.csdn.net/t12x3456 Android WebView缓存机制 当我们加载Html时候,会...

手把手教你构建 Android WebView 的缓存机制 & 资源预加载方案

前言 由于H5具备 开发周期短、灵活性好 的特点,所以现在 Android App大多嵌入了 Android Webview 组件进行 Hybrid 开发 但我知道你一定在烦恼 Android Web...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:webview的缓存机制
举报原因:
原因补充:

(最多只允许输入30个字)