文档章节

Android WebView加载缓存文件失败的原因记录

叶大侠
 叶大侠
发布于 2014/12/17 13:26
字数 372
阅读 196
收藏 0

最近在开发中碰到当手机没有网络的时候,WebView加载本地缓存出了问题,界面变得很乱,初步断定是样式表没有加载上来。

WebView的缓存策略是这样的:webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);

也就是有网络请求新内容,没有网络加载本地缓存内容。

由于css文件和js都是独立文件,于是怀疑独立的css和js文件WebView不缓存?

于是做了个实验,这是Html的内容,注意css是相对路径。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <link href="/hello.css" rel="stylesheet" type="text/css">
    <title>测试缓存</title>
</head>
<body>
    <p id="content">
       Hello, World !<br/>
       Hello, World !<br/>
    <p>
</body>
</html>

依旧地是css文件在没有网络的时候没有加载上来,为了进一步看到原因,我打开了该应用的webview缓存数据库。也就是/data/data/your app/databases/webviewCache.db文件。

我惊讶地发现有缓存了下来,而且可以肯定对应在files目录下的51d26c9d文件就是缓存的css文件。缓存都有了,那为什么WebView没加载呢?

相信大家都有了答案了,原因就是由于资源的相对路径,没有和缓存数据库中的绝对路径匹配上。

所以在这里建议服务端程序员在返回结果时,要尽量使用绝对路径,这样会减少很多不必要的麻烦。

© 著作权归作者所有

共有 人打赏支持
叶大侠

叶大侠

粉丝 58
博文 44
码字总数 67312
作品 5
广州
程序员
私信 提问
Android WebView的缓存!!!

今天和大家分享一下Android中WebView的缓存。我们在项目中也时常会用到WebView这个控件,当我们加载html时候,会在我们data/应用package下生成database与cache两个文件夹如下图如示: 我们请求...

鉴客
2011/09/18
5.1K
0
Android WebView:这是一份 详细 & 易懂的WebView学习攻略(含与JS交互、缓存构建等)

前言 现在很多里都内置了Web网页(),比如说很多电商平台,淘宝、京东、聚划算等等,如下图 那么这种该如何实现呢?其实这是里一个叫组件实现 今天,我将献上一份全面 & 详细的 攻略,含具体...

Carson_Ho
05/21
0
0
Android WebView:这是一份全面 & 详细的WebView学习指南

前言 现在很多里都内置了Web网页(),比如说很多电商平台,淘宝、京东、聚划算等等,如下图 那么这种该如何实现呢?其实这是里一个叫组件实现 今天,我将献上一份全面 & 详细的 攻略,含具体...

carson_ho
04/19
0
0
Android高手进阶教程(二十四)之---Android WebView的缓存!!!

各位读者大家好,最近比较忙好久没有写blog了,今天挤点时间和大家分享一下Android中WebView的缓存。我们在项目中也时常会用到WebView这个控件,当我们加载html时候,会在我们data/应用packa...

迷途d书童
2012/02/29
454
0
Android Hybrid开发:这是一份详细 & 全面的WebView学习攻略

前言 现在很多里都内置了Web网页(),比如说很多电商平台,淘宝、京东、聚划算等等,如下图 那么这种该如何实现呢?其实这是里一个叫组件实现 今天,我将献上一份全面 & 详细的 攻略,含具体...

Carson_Ho
06/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

《大漠烟尘》读书笔记及读后感文章3700字

《大漠烟尘》读书笔记及读后感文章3700字: 在这个浮躁的社会里,你有多久没有好好读完一本书了? 我们总觉得自己和别人不一样,所以当看到别人身上的问题时,很少有“反求诸己”,反思自己。...

原创小博客
40分钟前
1
0
大数据教程(9.5)用MR实现sql中的jion逻辑

上一篇博客讲解了使用jar -jar的方式来运行提交MR程序,以及通过修改YarnRunner的源码来实现MR的windows开发环境提交到集群的方式。本篇博主将分享sql中常见的join操作。 一、需求 订单数据表...

em_aaron
49分钟前
1
0
十万个为什么之什么是resultful规范

起源 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点...

尾生
54分钟前
1
0
Terraform配置文件(Terraform configuration)

Terraform配置文件 翻译自Terraform Configuration Terraform用文本文件来描述设备、设置变量。这些文件被称为Terraform配置文件,以.tf结尾。这一部分将讲述Terraform配置文件的加载与格式。...

buddie
今天
2
0
exportfs命令, vsftp搭建ftp服务

exportfs命令 当修改/etc/exports文件后,更改的内容是不会立即生效的。如果重启nfs服务,会导致客户端重启期间的请求是挂起等待的,可以把客户端的挂载umount进行卸载后,再重启nfs服务,但...

野雪球
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部