zoukankan      html  css  js  c++  java
  • uni-appios端app白屏问题

    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了
  • 相关阅读:
    Easyui使用记录
    Ubuntu 设置UFW防火墙
    MySQL 官方文档
    MySQL 版本
    MySQL主从架构之Master-Master互为主备
    MySQL主从架构之Master-Slave-Slave级联
    MySQL主从架构之Master-Slave主从同步
    Linux crond实例
    Ubuntu su: Authentication failure
    MySQL基准测试
  • 原文地址:https://www.cnblogs.com/qdjj/p/14365789.html
Copyright © 2011-2022 走看看