uniapp应用每次启动的时候,其实是应用onShow的时候,都会有灰色背景出现,很影响用户体验,怎么办
一: uniapp启动的时候,灰色背景场景
二:先上解决方法
在uniapp的app.vue文件中,应用的onhide生命周期下,写入一下代码
onHide: function() {
// 为来防止灰色背景,第一次隐藏的时候,关闭应用。
// 检查本地存储,是否启动运行过
let res=$S.getStorage('runOne')
if(!res){
//如果启动运行过,那就记录一下。并在用户首次,隐藏应用的时候,强行关闭应用。用户第二次启动的时候,就不会再有会屏了
$S.setStorage('runOne','yes')
plus.runtime.quit();
}
},
或者
onHide: function() {
let res=$S.getStorage('runOne')
console.log('app隐藏了',res)
// 为来防止灰色背景,第一次隐藏的时候,关闭应用
if(!res){
// 第一次onhide,是安装启动时,自动触发onhide
$S.setStorage('runOne','one')
}else if(res==='one'){
// 第二次用户手动触发onhide,
$S.setStorage('runOne','two')
plus.runtime.quit();
}else{
}
},
三:我曾经走过的坑
四:为了方便更多人了解这个解决办法,我要在文章中,增加一下关键词密度
1.uniapp应用启动的时候,总是灰色背景怎么办
2.uniapp应用,在每次进入的时候,都会出现灰色背景,怎么办
3.uniapp是不是太卡,怎么每次启动的时候,都有灰色背景
五:我遇到的一些坑,用文字记录的
我当时 考虑的可能是:
1.手机运行太多软件,太卡
2.app包太大,是不是要分包
3.图片是不是太大,渲染卡顿
4.首页是不是要改成nvue
5.是不是启动页的,splash配置问题(自己还搞过.9.png)
六:网友的说法
1.那个灰色背景图,是splashScreen
2.需要配置manifest.josn
// uniapp App打开没有关掉后台,去查看其它东西一段时候回来后,页面会变空白
"kernel": {
"ios": "WKWebview",
"recovery": "restart"
},
3.配置位置如下:
4.app.vue里,使用plus.navigator.closeSplashscreen(),手动关闭splash
我试验了,好像不行。
但最终原因是找到了。要及时的关闭,那个灰色splash就好了。