admin管理员组文章数量:1122852
WebView替换内核适配优化之腾讯X5
Android原生的webview在对H5的支持并不是很好。而且自从Android 4.4之后,默认的浏览器内核从WebKit转化为chromium,因此适配什么的会遇到很多瓶颈。
目前可选用的内核又两种,一个是腾讯的X5,一个是crosswalk。这次采用X5,相比crosswalk,x5接入速度快且占有体积不大(crosswalk会导致安装包多20m左右)
1. 接入
详情请见:
https://x5.tencent/docs/access.html
我采用直接导入的方式接入(且我的项目没有代码混淆和异常上报,所有这两步骤掠过)
1.1 SDK接入
-
jar包方式集成 您可将官网下载的jar包复制到您的App的libs目录,并且通过Add As Library的方式集成TBS SDK
-
Gradle方式集成 您可以在使用SDK的模块的dependencies中添加引用进行集成:
api 'com.tencent.tbs.tbssdk:sdk:43903'
1.2 权限配置
为了保障内核的动态下发和正常使用,您需要在您的AndroidManifest.xml增加如下权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
1.3 首次初始化冷启动优化
TBS内核首次使用和加载时,ART虚拟机会将Dex文件转为Oat,该过程由系统底层触发且耗时较长,很容易引起anr问题,解决方法是使用TBS的 ”dex2oat优化方案“。
(1). 设置开启优化方案
// 在调用TBS初始化、创建WebView之前进行如下配置
HashMap map = new HashMap();
map.put(TbsCoreSettings.TBS_SETTINGS_USE_SPEEDY_CLASSLOADER, true);
map.put(TbsCoreSettings.TBS_SETTINGS_USE_DEXLOADER_SERVICE, true);
QbSdk.
版权声明:本文标题:WebView替换内核适配优化之腾讯X5 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1726781983a1164277.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论