WebView 带评论的详情页在某些手机机型遇到崩溃的问题。

如题在开发中遇到 展示类似今日头条WebView +评论列表的需求。首先想到的是RecyclerView + HeaderView(Webview) 的思路。当然一开始在自己手机上并没有遇到什么问题,然而同事在不同的手机上发现有崩溃现象,于是乎上网度娘,google。发现到问题可能出现在WebView 和所在的Activity 的layerType的设置上,也就是对分别对MainFest文件中Activity 的硬件加速,xml中的硬件加速声明,java 代码中的硬件加速也做了控制。最终问题终于得到解决,在不同的手机上,WebView 页面都不会崩溃了(因为关闭掉了硬件加速),却带来了另一个比较严重的问题,就是在我们滑动WebView的时候页面非常的卡顿(可以清晰的看到,尤其是webview 中的文字会闪的我们眼睛晕)。这个问题一直留存了好多个版本。。。。终于在近期版本没有太多任务的时候,将这个问题列为项目需求来 解决。我也花费了好长的时间查找资料,排除问题。首先我尝试了第一种方法:就是自定义ViewGroup  内部包含自定义WebView 和ListView(RecyclerView),然而网上好多可参考的项目都会有或多或少的缺点,最终这种方式没走通。然后第二种方法: 是在对比别人的项目的过程中,发现一个很奇怪的问题,为什么我参考的这个项目不卡(这个项目和我们一样也是RecyclerView + header,况且把h5 页面和我们出问题的那个手机都用到这个参考的项目),找了好久没找出来,最终让同事看看有么有什么地方漏掉的。同事果真发现了,参考项目的Webview 基本是是很原生的没有做什么处理,而我们项目的WebView 封装了好多,设置了好多参数。就这样最终发现问题真的是WebView 的设置有问题。问题在代码中设置了layerType(); 将代码中设置layerType 的方法注释掉后就解决了问题。

最终总结(如果没有太高的要求,还是可以做到不卡顿的,不会崩):

1.使用RecyclerView(ListView) + headerView(包含WebView ) 的方式。

2.将清单文件,xml,代码中的所所有关于硬件加速的设置都使用默认的(不需要额外添加的)。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值