DCloud_UNI_CHB
DCloud_UNI_CHB
  • 发布:2019-01-29 17:04
  • 更新:2019-06-19 16:42
  • 阅读:9625

uni-app 启动界面(splash)参数配置说明 | 启动慢的原因

分类:uni-app

HBuilderX 1.6.0 版本之后,新增白屏时不关闭启动图(splash)配置,App引擎会自动检测首页渲染,若未渲染则不关闭splash,提升用户体验。

关于启动图,目前支持如下配置项(manifest.json —> app-plus —> splashscreen):

属性 类型 默认值 描述
alwaysShowBeforeRender Boolean true 白屏时不关闭启动界面
autoclose Boolean true 是否自动关闭程序启动界面
waiting Boolean true 是否在程序启动界面显示等待雪花
delay Number 0 启动界面在应用的首页面加载完毕后延迟关闭的时间

alwaysShowBeforeRender

alwaysShowBeforeRender 可设置首页白屏检测开关,若设置为true,则splash的关闭逻辑为:

  • App启动时,App引擎自动检测首页渲染情况,若首页未渲染(白屏),则不关闭splash;否则,关闭splash;
  • 若启动时间超过10秒,则不管首页是否白屏,自动关闭splash

alwaysShowBeforeRender 默认为true,为保证用户体验,建议开启。

注意:若App启动时有动态显示其他页面的需求,场景举例:

  • 欢迎页场景:首次启动,显示App欢迎页;否则,显示首页内容
  • 登录页场景:用户未登录,打开登录页;否则,显示首页内容

此时,App引擎无法高效判断首页及跳转页渲染情况,建议将alwaysShowBeforeRender 设置为false,开发者手动调用 plus.navigator.closeSplashscreen() 关闭启动界面。

autoclose

autoclose 可设置App引擎是否自动关闭splash,默认为true;

若修改为false,则需开发者手动调用 plus.navigator.closeSplashscreen() 方法关闭启动图。但是这个时间不能太晚,6s 超时后依旧会主动关闭。

delay

启动界面在应用的首页加载完毕后延迟关闭的时间,单位为毫秒,仅在 autoclose 设置为 true 时有效。
注意:这个 delay 不能任意使用,从应用启动到 splash 关闭的总时长,不会超过 6s。也就是说,delay 的时长也是计算在这个 6s 的限制内。

4 关注 分享
Trust 银少 520593@qq.com 1261853718@qq.com

要回复文章请先登录注册

luhansen2008@126.com

luhansen2008@126.com

我怎么没看到上面说的这些配置
2019-06-19 16:42
happy

happy

autoclose 根本没效果的,什么玩意儿
2019-06-01 10:31
352489099@qq.com

352489099@qq.com

欢迎页场景:首次启动,显示App欢迎页;否则,显示首页内容
登录页场景:用户未登录,打开登录页;否则,显示首页内容
这个场景下是会有延迟,那plus.navigator.closeSplashscreen() 是放在哪里
2019-05-30 09:15
银少

银少

回复 银少:
alwaysShowBeforeRender 为true的时候最多10s会关闭,alwaysShowBeforeRender 为false的时候最多6s,如果遇到网络不好的时候,启动很有可能超过这个时间的,请问该怎么处理
2019-05-13 10:49
399915881@qq.com

399915881@qq.com

启动图跳转到首页,启动图会有一个拖影,就是闪一下,有人遇到过吗?如何解决
2019-04-15 22:16
我吃柠檬

我吃柠檬

delay根本不能用
2019-03-28 13:44
ynzkyxlx@163.com

ynzkyxlx@163.com

想问一下可不可以设置显示倒计时的?
2019-03-25 10:20
txb_2008@163.com

txb_2008@163.com

是个bug吧,delay 根本不起作用
2019-03-14 00:37
txb_2008@163.com

txb_2008@163.com

延迟根本不管用,什么鬼!
2019-03-10 01:35
715476864@qq.com

715476864@qq.com

晕,下载了最新的离线打包SDK,问题解决了。。
2019-02-26 20:31
715476864@qq.com

715476864@qq.com

我在Manifest.js中这样配置的:
"splashscreen" : {
"waiting" : true,
"autoclose" : false,
"delay" : 0,
"alwaysShowBeforeRender" : false
},

然后在App.vue中有这样一段:
onLaunch: function () {
console.log('App Launch')
setTimeout(function(){
plus.navigator.closeSplashscreen();
},6000);
},

在HBuildX调试环境下,启动延时是成功的。但是当我离线打包时,则启动延时无效。
2019-02-26 20:27
银少

银少

回复 DCloud_UNI_CHB:
false
2019-02-21 14:25
DCloud_UNI_CHB

DCloud_UNI_CHB (作者)

回复 银少:
alwaysShowBeforeRender 你怎么配置的?跟这个参数也有关系
2019-02-21 12:48
银少

银少

话说autoclose:true,设置delay并没有什么用
2019-02-21 12:23