记一次uni-app的闪屏的解决过程

7,990 阅读1分钟

在做一个深色背景的APP时发现切换页面时,页面会闪白一下

  1. 在APP.vue中的全局样式会先加载
page{
		height: 100%;
		background-color: #151721;
	}

也有文章介绍在page.json里面写背景颜色,但是试了一下没有page的高度100%,也会闪白一下

"app-plus":{
            "background": "#151721"
            }
  1. 非tabbar页面都不闪白了,但是有两个需要从后端的获取数据在渲染的tabbar页面还会闪白。猜想可能是数据渲染造成的问题,所以设置页面
opacity: 0;
transition: all .5s;

加载完成之后再opacity: 1;以为这个问题解决了,结果只解决了一个其中tabbar页面闪白的问题

  1. 还有一个tabbar页面是首页,打开APP先是广告页在跳转到首页,这个过程就会闪白一下,用上述同样的方法并不能解决。反正各种方法都试了很久,最后突然想到是不是我的跳转方法的问题,我用的是uni-simple-router来实现跳转,从广告页跳转到首页用this.Router.pushTab(),然后换成this.Router.pushTab(),然后换成this.Router.replaceAll()方法来跳转,解决闪白问题。 (广告是做的一个页面,没有用uni-app的广告,因为这个广告只是介绍这个APP的内容,不知道有没有大佬知道别的做广告的方法?)