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了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM