查看: 92|回复: 0

uni-appios端app白屏问题

[复制链接]

4

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-4-23
发表于 2021-2-3 10:49:00 | 显示全部楼层 |阅读模式

 

hbuilder版本高于3.0.0,则此方法不适用,使用最新的 https://www.cnblogs.com/qdjj/p/15196221.html

最近开发了一款使用uni-app做框架的app

打包上线后发现在ios端项目在后台运行时内存不足重回页面时当前tabbar页面是正常,但是其他tabber页会白屏

但是安卓端没有遇到这种问题,看了官方文档配置了

"kernel" : {
  "ios" : "WKWebview",
  "recovery" : "restart"
},

意思是页面崩溃后重启项目

但是实际还是没有生效,之后经过研究发现出一种方法可以用

// 判断是不是ios,是否发生白屏
            uni.getSystemInfo({
                success: (res) => {
                    if (res.platform == 'ios') {
                        const query = uni.createSelectorQuery().in(this);
                        var isRecovery = true;
                        query
                            .select('#containerId')
                            .boundingClientRect(data => {
                                isRecovery = false;
                            })
                            .exec();
                        var timer = setTimeout(() => {
                            if (isRecovery) {
                                uni.reLaunch({
                                    url:'/pages/tabbar/user/user'
                                })
                                clearTimeout(timer);
                                timer = null;
                            }
                        }, 500)
                    }
                },
            })

因为只在ios上有问题,所有先判断是否是ios端,再通过

uni.createSelectorQuery()
方法看是否能够拿到页面数据,因为白屏是页面数据全部丢失了
如果拿不到就重新跳转当前页,这样就OK了

 



来源:https://www.cnblogs.com/qdjj/p/14365789.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部