博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android开发小技巧之不再使用原生的WebView了
阅读量:6529 次
发布时间:2019-06-24

本文共 1149 字,大约阅读时间需要 3 分钟。

前言

先来说说Android官方的WebView的版本差异,在Android 4.4以下(不包含4.4)系统WebView底层实现是采用作为内核,而在Android 4.4及其以上Google 采用了作为内核,虽然是API上面没有什么变化,但是却非常的坑开发者。虽然说更换了chromium之后,是增加了对H5等的一些友好支持,但是还不够啊,各种各样的内存泄露。我也是醉了。而且这种内存泄露还是没办法解决的。

刚开始的时候啥都不懂,认为WebView这那点东西,简单。慢慢的发现:哦,原来webView也是要清除和销毁的啊。哦,原来是WebView内部内存泄露了啊,没办法只能将WebView放进一个单独的进程了。我以为这样就能解决我的问题。

诱因

当时的问题是这样的,我们项目需要用WebView来展示一个url,里面呢,是web版的百度地图。结果就是IOS正常显示,我这边就是不行,于是我各种重写,各种注入JS。最终还是失败了。最后是在微信和UC中查看这个URL,发现真神奇,竟然可以。不知道大家有没有仔细观察,不管是QQ还是微信,打开URL的时候往下拉,都可以看到这样的话"QQ浏览器X5内核提供技术支持",于是我就在网上找啊找,终于找到了今天的主角""。

介绍

下面来自官方的介绍


基于Android 5.0 WebView Blink内核(M37版本)适配定制优化,适配Android全部主流平台,可以在所有Android手机上使用Blink的技术能力。TBS2.2具有更好的H5/CSS3支持和性能,视频体验、网页浏览体验有大幅提升,安全能力也有进一步优化。TBS2.2已经发布,将逐步在各客户端中静默升级,无需更新微信、手机QQ、QQ空间即可使用最新的TBS2.2Blink内核。


看到没有,最强大的部分:

无需更新微信、手机QQ、QQ空间即可使用

虽说鹅厂比较流氓,但不得不说东西却是很好用,而且免费,有木有。另外好像还有UC内核,好像是要收费来着,没仔细了解。

使用

接入文档在官方有,就不写了,免得有借鉴的嫌疑。不过我会在下面写一些我自己的使用技巧。

技巧

  1. 在第一次用X5打开URL的时候会很卡,而且有很明显的卡顿。可以将demo中的初始化部分放到Application中或者服务中去搞,可以明显提升哦。

最后

本来是不想写这篇文章的,主要是昨天有个做java的朋友问我类似的问题,为什么在iOS上面video标签能够正常播放,在Android上面就是不行,他已经调了很久的JS,谷歌都没有解决。很明显,他这是被甩锅了,Andrid把锅甩给了后台。最后我告诉他接入这个内核,于是乎问题解决了。

作为一个开发者,拿着一个WebView,真心搞不过人家专门做浏览器的。

最后附上源码

转载地址:http://ljxbo.baihongyu.com/

你可能感兴趣的文章
用hadoop中的libhdfs和fuse-dfs构建快速云存储
查看>>
VMTools和虚拟硬件升级
查看>>
不知道自己不知道(Unknown Unknowns)的知识决定了你的发展
查看>>
Apple Watch的非“智能手表”卖点
查看>>
fedora17升级到fedora18
查看>>
单例模式(Singleton)
查看>>
函数指针和指针函数
查看>>
认识配置设置文件(INI与XML)
查看>>
DZ!NT论坛 3.6.711删除用户各种错解决方案
查看>>
Python的函数参数传递:传值?引用?
查看>>
[转]分享2011年8个最新的jQuery Mobile在线教程
查看>>
android call require api level
查看>>
Mac下android环境搭建
查看>>
创建Visual Studio项目模版向导的几篇参考文章
查看>>
深入浅出SQL Server Replication第一篇:走近Replication(上)
查看>>
[TopCoder][SRM] SRM 562 DIV 2
查看>>
SQLSERVER是怎麽通过索引和统计信息来找到目标数据的(第一篇)
查看>>
LocalAlloc,VirtualAlloc,malloc,new的异同
查看>>
回调函数
查看>>
win7 x64 jdk1.7.0_51
查看>>