概念澄清
HBuilder8.0.1版更新说明App中有一条:
【重要】新增双首页配置(manifest->plus->secondwebview),加速首页为双webview模式时的应用启动速度。
以往流应用或5+App的首页,就是指的入口页面这一个页面,应用启动时native层立即创建这个launchWebview。
双首页配置下,入口页面依旧是launchWebview,但是还有一个secondWebview同时被创建。两个webview的操作由native层完成,大大提高了第二个webview的创建及加载速度。
举例说明
常规方案
以首页父子页面结构为例,子页面的创建在父页面(即首页)中完成。
var launch = plus.webview.getLaunchWebview();
var home = plus.webview.create('home.html','home', {
top: '50px',
bottom: 0
});
launch.append(home);
创建子页面这个操作,需要在首页加载完成后才开始。这样就会造成用户先看到首页部分的内容,然后才能看到子页面的内容。
双首页模式
依照更新说明,在manifest.json文件的plus节点下,新增secondwebview节点配置。
"plus": {
"secondwebview": {
"launch_path": "_www/home.html",
"id": "home"
}
}
这里同样支持secondWebview的styles等属性。
"plus": {
"secondwebview": {
"launch_path": "_www/home.html",
"id": "home",
"top": "50px",
"bottom": "0px"
}
}
然后,在launchWebview中建立父子关系即可。当然,如果非必要情况下,是不用建立父子关系的。
var _self = plus.webview.getLaunchWebview();
var _second = plus.webview.getSecondWebview();
_self.append(_second);
在双首页模式下,父页面和子页面的内容是同时显示的,不会给用户造成加载延迟的感觉,大大增强了流应用及5+App的体验。
更多
更多关于HBuilder8.0的更新,以及manifest.json的配置,参考相关文章。
感谢80万开发者厚爱,HBuilder8.0正式发布 【内含重要性能优化新策略】
Manifest.json文档说明 manifest配置
最后附上一个简单的示例源码,解压后真机运行即可。