关于webview图片无法加载的问题?

关于webview网页中的图片无法加载的问题我个人总结了两种情况:
1.由于android系统自身版本不同引起的问题。

在说明情况之前我们先看一个api
就图中的方法做简单说明
上面的图片中的解释大概是说:
mWebView.getSettings().getLoadsImagesAutomatically()方法的返回值为true时webview采取阻塞的方式加载网络图片,反之如果你设置的值为false,图片将自动进行加载,并且使用这个方法只是为了减少带宽。

下面具体说一下具体的原因及其解决办法:

原因:由于在android4.4以前为了减少带宽采用阻塞式加载网页图片资源,这是需要将上图中的方法的参数设置为true,但是在更高的版本上面由于将 参数设置为true反而导致图片无法加载。要知道具体的原因大家可以看一下更高版本的源码的具体实现,我这边没有 源码就不做解释了。

解决办法:需要将上面方法的参数设置为false。

2.由于 Internet Explorer 8.0 以上,Firefox 3.5 以上,Chrome 4.0 以上都是支持Html5 中的 DOM Storage存储机制 ,导致我们通过webview加载的部分html5页面中的部分图片资源加载失败。

同样在说明情况之前我们先看一个api:
源码
方法的意思是说是否使用DOM storage API,那么什么是DOM storage呢?他是web端采用Html5编程时的一种存储机制,和之前的Cookies存储有很多相似的地方,但是比它更优秀。具体的介绍看下面的链接:浅谈 HTML5 的 DOM Storage 机制,其实我们只需稍作了解就可以。
下面我们看一下解决办法:
原因:由于我们要加载的页面中才用了这种存储机制,而且客户端默认为false,导致部分图片加载失败,所以需要我们手动的去设置该法,并传参为true。

解决办法:
很简单只要将上面的方法的参数设置为true就可以了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值