在application初始化:
QbSdk.initX5Environment
启动APP后,首次webView.loadUrl,出现严重的卡顿现象;
X5 SDK的v3.6版本后添加了一个多进程的service设置开启优化方案,具体实现如下:
第一种 多进程方案: 设置开启优化方案
// 在调用TBS初始化、创建WebView之前进行如下配置,以开启优化方案HashMap map = new HashMap();map.put(TbsCoreSettings.TBS_SETTINGS_USE_SPEEDY_CLASSLOADER, true);QbSdk.initTbsSettings(map);
增加Service声明 :在AndroidManifest.xml中增加内核首次加载时优化Service声明;
该Service仅在TBS内核首次Dex加载时触发并执行dex2oat任务,任务完成后自动结束;
<service android:name="com.tencent.smtt.export.external.DexClassLoaderProviderService" android:label="dexopt"android:process=":dexopt"/>
第二种 多进程方案:仅Android 5.1+生效)
1、// 在调用TBS初始化、创建WebView之前进行如下配置,以开启优化方案
HashMap map = new HashMap();map.put(TbsCoreSettings.TBS_SETTINGS_USE_SPEEDY_CLASSLOADER,true);QbSdk.initTbsSettings(map);
2、)多线程方案策略配置
// 在调用TBS初始化、创建WebView之前进行如下配置,以开启优化方案HashMapmap = new HashMap();// 配置不使用多进程策略,即该方案仅在Android 5.1+系统上生效。map.put(TbsCoreSettings.TBS_SETTINGS_USE_DEXLOADER_SERVICE, false);QbSdk.initTbsSettings(map);