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就好了。

另外

相关