9***@qq.com
9***@qq.com
  • 发布:2018-12-06 16:34
  • 更新:2022-01-24 14:03
  • 阅读:17717

【页面切换性能问题】uniapp切换tab瞬间白屏闪动问题

分类:uni-app

uniapp页面根元素设置背景色为深色,切换tab,进入相应页面会瞬间白屏闪烁,如果是app主色是白色,则看不出来闪动,如果是深色,闪动很明显,uniapp是否有页面预加载机制,这个问题有没有好的解决方案呢?

2018-12-06 16:34 负责人:无 分享
已邀请:

最佳回复

DCloud_UNI_FXY

DCloud_UNI_FXY

  • 1***@qq.com

    nvue页面还是会闪屏,体验很差

    2019-03-15 18:46

  • ABCDCLOU

    就是在APP.vue写了颜色代码, 仍然出现闪屏, 项目都快做完了 估计到时候因为这个会出现事故的

    2019-05-07 12:58

  • ethan2016

    <style>

    /每个页面公共css /

    @import "colorui/main.css";

    @import "colorui/icon.css";

    @import "common/base.css";

    page {

    background: #212121;

    }


    </style>

    app.vue中设置了还是闪白屏

    2019-11-20 17:26

  • 小人物1992

    在app.vue 加了个page{backgroud:'#000'}解决了,感谢

    2020-03-17 14:01

  • DCloud_heavensoft

    回复 1***@qq.com: 2.7.13起,nvue支持预载了,可以体验下preload的效果

    2020-06-22 23:08

  • 3***@qq.com

    确定解决了?我从A页面跳转B页面,B页面就放一张全屏20K的图,依然先白屏后出背景图,不要说设置背景色,我这是背景图

    2020-11-18 10:23

抠图仔

抠图仔 - 蒙古文应用开发

关于uniapp切换tab瞬间白屏闪动问题
tabbar用的官方的再用nvue做页面时,在点击非首页的tab页面时会闪一下,这是因为uniapp在用户点击tab时才初始化这个页面导致的,所以我们只要用 uni.switchTab 跳到另外几个页面再跳回首页就可解决这个问题。然后我们将启动图的等待时间加长让用户看不到这个画面就

  • 7***@qq.com

    貌似是个解决方案。

    2019-09-06 14:02

  • 灰色的灵魂

    我就是用你这个方法,

    1、开启首页渲染完毕后再关闭splas图和启动界面显示等待雪花。

    2、App.vue的onLaunch方法最后增加uni.switchTab跳转,不要跳转首页,最后一下跳转首页即可。

    现在目前没感觉到卡了

    2019-09-17 02:10

  • s***@gmail.com

    回复 灰色的灵魂: 666

    2020-03-26 17:30

  • 9***@qq.com

    已经体验过了,四个tabbar页面,app冷启动5s+。

    2020-07-26 22:05

  • 全栈工程师

    回复 灰色的灵魂: 已存在待跳转页面/pages/index/index2,请不要连续多次跳转页面/pages/index/index3 不能连续使用啊

    2020-11-27 16:00

  • 全栈工程师

    uni.switchTab 怎么跳到几个页面,在哪里写这个逻辑 是在首页里写 还是在 app.vue里写呢

    2020-11-27 16:25

  • 全栈工程师

    回复 灰色的灵魂: 在哪里写的?是不是要去每个tab对应的页面里去写啊,uni.switchTab 这个全写在onLaunch 里 会报错

    2020-11-27 16:26

  • 全栈工程师

    解决了,谢谢大神的思路

    2020-11-27 16:34

  • 1***@qq.com

    回复 全栈工程师: 怎么解决的

    2021-03-23 10:14

  • 余予娱与愚

    回复 1***@qq.com: 兄弟 有解决吗

    2021-07-23 09:24

7***@qq.com

7***@qq.com

官方回应会优化。

1***@qq.com

1***@qq.com

切页白屏的问题官方能给个解决方案吗?非常着急

  • 倒影

    这个问题解决了嘛

    2019-05-10 10:15

1***@qq.com

1***@qq.com - 90后的It女

ios上的白屏更明显,这个问题还没有解决吗?

9***@qq.com

9***@qq.com

同问

3***@qq.com

3***@qq.com

求解答

Hal74

Hal74

同等待解答,tab页第一次进入会闪屏

7***@qq.com
1***@qq.com

1***@qq.com

vue页面切换不会白屏,nvue会

8***@qq.com

8***@qq.com - IT

安卓手机 页面切换 性能 比IOS 的差了很多

页面用NVUE 写的,还是感觉不流畅

本地打包不知道会不会好一点?

扶摇侠客

扶摇侠客

有人解决吗

7***@qq.com

7***@qq.com

还没解决??????

Trust

Trust - 少说废话

1、将页面背景颜色的 css 代码,放置到 App.vue 中。
2、参考 github 上最新的 hello uniapp 示例,在 onLoad 即 onReady 中做个 loading 处理下。

7***@qq.com

7***@qq.com

我的是会自己pop回去,偶尔第一次在首页点击push到别的界面会立马pop回首页,切换别的tabBar也会切回到首页,再点就不会了

ABCDCLOU

ABCDCLOU - 这家伙真懒什么都没留下

没用啊, 最新1.9+的hbuilderx 现在切换仍然有一闪而过的空白

7***@qq.com

7***@qq.com

感觉性能还是不如5+App。

  • 钊有

    性能确实不如H5

    2019-05-18 11:10

3***@qq.com

3***@qq.com - web前端

坐等官方解决这个问题

W***@163.com

W***@163.com - frank

白屏问题有没有好的解决方法

3***@qq.com

3***@qq.com

本来项目准备从apicloud切换到uni的,硬是被这白屏卡着不敢切。uni项目都完成了...

1***@qq.com

1***@qq.com

最新版的好像已经不会闪屏了

今天回复我了吗

今天回复我了吗 - uniapp 粉丝条

最新版本我再A页面reLaunch到 login页面, 会有点闪动

  • ABCDCLOU

    我也是

    2019-05-23 17:20

  • 3***@qq.com

    回复 ABCDCLOU: 这个问题官方一直很也没回复,其实uniapp 跳转感觉都会先白屏一下的,体验很不好

    2019-06-13 16:53

  • 小燕子

    回复 3***@qq.com: 对呀,就算在公共的样式里添加了跟页面一样的背景颜色,还是会有白屏出现的,请问有什么方法解决吗?

    2019-07-05 09:51

  • 瓜瓜123

    回复 3***@qq.com: 低端机百分百会出白屏,中高端安卓机得看处理器和跳转方式,relaunch跳转出白屏概率很大。

    2020-08-07 09:28

小燕子

小燕子

同问,啥时候解决呀?页面跳转出现白屏问题

1***@qq.com

1***@qq.com

可以给下拉背景设置颜色来解决,ios下有效

  • 1***@qq.com

    不知道你是什么情况,我在app.vue 的page样式设置background就能解决这个问题

    2019-07-19 09:12

花朝十二

花朝十二

迄今为止还是有闪屏问题,还是没解决

1***@qq.com

1***@qq.com

还没解决吗

  • 倒影

    没有好的解决方法

    2019-07-10 13:14

  • 3***@qq.com

    回复 倒影: 可以自己写一个tabbar 在这个页面以组件方式引入要切换的所有子页面 我看colorUI就是这么写的

    2019-08-17 09:52

  • 无心之水

    回复 3***@qq.com: 但是这样每个子组件的生命周期不如直接整个页面的生命周期丰富

    2020-12-30 10:27

倒影

倒影 - 记忆的时间差.

而且,键盘顶起页面后,键盘再收起时,键盘那个区域会闪一下首页的内容,很是头疼,感觉有一些地方,性能还是有问题

humu

humu

期待能更好吧

3***@qq.com

3***@qq.com

还没解决

9***@qq.com

9***@qq.com

  "globalStyle": {  
    "app-plus": {  
        "background": "#22243a",  
    }  
}  

好像这样子可以

  • 9***@qq.com

    page.json 这样设置后好像优化了,不知道打包后会怎样

    2019-07-18 21:33

  • 花朝十二

    回复 9***@qq.com: 感觉没区别呀

    2019-07-23 15:35

  • 1***@qq.com

    大佬诚不欺我,我APP全是深色背景,跳转每个页面都会闪烁白色背景,加了这个配置就好了,官方文档里面并没有写有这个配置

    2020-03-17 11:16

  • 1***@qq.com

    使用了过后tabBar页面的窗口高度会存在特别奇怪的问题,是官方还没适配完隐藏属性?

    2020-03-17 12:55

  • 1***@qq.com

    验证了一下,不要在globalStyle中使用,在pages里面设置style也生效。我是自定义tabBar,全局使用会出现各种奇怪的问题,貌似tabBar页面的窗口高度是随机生成的。

    2020-03-17 12:59

  • 3***@qq.com

    使用该方法,已解决 版本号 2.6.16.20200424

    2020-07-28 09:55

3***@qq.com

3***@qq.com

同问,官方可以给个回复?

ABCDCLOU

ABCDCLOU - 这家伙真懒什么都没留下

这个问题目前解决的如何了, 当时因为这个bug放弃使用uni了

hhyang

hhyang - 如有问题,请添加QQ1606726660 备注付费咨询

2020年6月11日15:40:02 还未解决 这样配置的 IOS 11.4有问题 最新版不会

<style lang="stylus">  
    page  
        background-color #22273D  
    @import "/static/fonts/iconfont.css"  
</style>  

    "globalStyle": {  
        "navigationBarTextStyle": "white",  
        "navigationBarTitleText": "uni-app",  
        "navigationBarBackgroundColor":"#22273D",  
        "backgroundColorTop":"#22273D",  
        "backgroundColorBottom":"#22273D",  
        "app-plus":{  
            "animationAlphaBGColor":"#22273D",  
            "backgroundColorTop":"#22273D",  
            "backgroundColorBottom":"#22273D",  
            "bounceBackground":"#22273D",  
            "bounce":"none",  
            "background":"#22273D",  
            "scrollIndicator": "none"  
        }  
    }
  • DCloud_heavensoft

    https://uniapp.dcloud.io/performance?id=%e4%bc%98%e5%8c%96%e8%83%8c%e6%99%af%e8%89%b2%e9%97%aa%e7%99%bd

    2020-06-11 15:53

  • uni插件牛爱花

    回复 DCloud_heavensoft: https://ask.dcloud.net.cn/question/110813?notification_id-828091rf-falseitem_id-144626__answer_id-144626__single-TRUE#!answer_144626 官方这个问题解决下咯 不然后都要放弃uni了

    2020-11-12 09:02

  • m***@foxmail.com

    回复 DCloud_heavensoft: 小程序依然会闪

    2021-01-13 09:31

全栈工程师

全栈工程师 - 精通mui、uniapp,承接相关项目外包,解决各种疑难问题。有任何问题可以随时联系,QQ:419761282

解决了,利用隐藏进程去触发第一次,即可

  • Yuhuawang

    可以具体点?

    2020-11-28 16:20

m***@foxmail.com

m***@foxmail.com

2年了,小程序还是闪屏

我是纸飞机

我是纸飞机

设置app-plus的背景色,还是不行,不知道为啥,主要就是ios有问题,安卓多没有这个问题

8***@qq.com

8***@qq.com

提供黑白模式自由切换的APP就没活路呗。根本无法动态切换背景颜色。就一直闪烁呗,一闪一闪亮晶晶

3***@qq.com

3***@qq.com

都2022年了,自定义tabbar切换闪烁这个问题到现在也没人解决么

3***@qq.com

3***@qq.com

已解决,在app.vue用异步全部加载一遍

  • 3***@qq.com

    这个会有问题,刷新后会因为因为切换时间太快,导致其它页面缺失

    2022-01-06 16:12

  • 9***@qq.com

    可是可是他不让我连续跳转

    2023-02-23 10:26

  • 兔斯基哟

    回复 9***@qq.com: 请问你解决了吗,我也是不允许连续跳转

    2023-06-28 18:08

饿包子

饿包子 - 一个不被风爱的男子

把Tabbar切换的主页进行预加载就好了;
闪屏是因为uniapp是按需加载,导致你点击页面才开始加载内容,会有一段时间的空白区;
在初始页面;通过数组循环预加载想要的页面就好了;

let arr=[ ]  
arr.forEach((item)=>{  
  uni.preloadPage({url: item});  
})
  • 9***@qq.com

    他不是不让连续跳转吗

    2023-02-23 10:26

该问题目前已经被锁定, 无法添加新回复