android x5获取播放地址,Android-腾讯X5接入详解与注意点

作为与js交互的优化之一,今天讲一下如何集成腾讯X5。

首先我们先了解一下TBS浏览服务:

背景知识:

1. TBS(腾讯浏览服务)的优势

速度快:相比系统webview的网页打开速度有30+%的提升;

省流量:使用云端优化技术使流量节省20+%;

更安全:安全问题可以在24小时内修复;

更稳定:经过亿级用户的使用考验,CRASH率低于0.15%;

兼容好:无系统内核的碎片化问题,更少的兼容性问题;

体验优:支持夜间模式、适屏排版、字体设置等浏览增强功能;

功能全:在Html5、ES6上有更完整支持;

更强大:集成强大的视频播放器,支持视频格式远多于系统webview;

视频和文件格式的支持x5内核多于系统内核

防劫持是x5内核的一大亮点

2. 运行环境

1)手机ROM版本高于或等于2.2版本

2)手机RAM大于500M,该RAM值通过手机 /proc/meminfo 文件的MemTotal动态获取

注:如果不满足上述条件,SDK会自动切换到系统WebView,SDK使用者不用关心该切换过程。

3. SDK尺寸指标

1)SDK提供的JAR包约250K

集成步骤

2.将下载的tbs jar包依赖到项目中

7a9849d7593f5bfd347b12813d85671a.png

3.将原生webview控件改成jar包下的控件:

Java

android:id="@+id/forum_context"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:paddingLeft="5dp"

android:paddingRight="5dp" />

1

2

3

4

5

6

7

8

9

10

11

android:id="@+id/forum_context"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:paddingLeft="5dp"

android:paddingRight="5dp"/>

4.AndroidManifest.xml里加入权限声明:

Java

1

2

3

4

5

6

7

8

9

5.Application初始化

Java

//非wifi情况下,主动下载x5内核

QbSdk.setDownloadWithoutWifi(true);

//搜集本地tbs内核信息并上报服务器,服务器返回结果决定使用哪个内核。

QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() {

@Override

public void onViewInitFinished(boolean arg0) {

//x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。

LogUtils.d("开启TBS===X5加速成功");

}

@Override

public void onCoreInitFinished() {

LogUtils.d("开启TBS===X5加速失败");

}

};

//x5内核初始化接口

QbSdk.initX5Environment(getApplicationContext(), cb);

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

//非wifi情况下,主动下载x5内核

QbSdk.setDownloadWithoutWifi(true);

//搜集本地tbs内核信息并上报服务器,服务器返回结果决定使用哪个内核。

QbSdk.PreInitCallbackcb=newQbSdk.PreInitCallback(){

@Override

publicvoidonViewInitFinished(booleanarg0){

//x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。

LogUtils.d("开启TBS===X5加速成功");

}

@Override

publicvoidonCoreInitFinished(){

LogUtils.d("开启TBS===X5加速失败");

}

};

//x5内核初始化接口

QbSdk.initX5Environment(getApplicationContext(),cb);

剩下的配置大家自行配置就好了。

注意点

1.APP首次初始化很久

解决方案:

(1)多进程方案:

Java

// 在调用TBS初始化、创建WebView之前进行如下配置,以开启优化方案

HashMap map = new HashMap();

map.put(TbsCoreSettings.TBS_SETTINGS_USE_SPEEDY_CLASSLOADER, true);

QbSdk.initTbsSettings(map);

1

2

3

4

// 在调用TBS初始化、创建WebView之前进行如下配置,以开启优化方案

HashMapmap=newHashMap();

map.put(TbsCoreSettings.TBS_SETTINGS_USE_SPEEDY_CLASSLOADER,true);

QbSdk.initTbsSettings(map);

(2)正价Service声明:

Java

android:name="com.tencent.smtt.export.external.DexClassLoaderProviderService"

android:label="dexopt"

android:process=":dexopt" >

1

2

3

4

android:name="com.tencent.smtt.export.external.DexClassLoaderProviderService"

android:label="dexopt"

android:process=":dexopt">

7a9849d7593f5bfd347b12813d85671a.png

公众号

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值