1***@qq.com
1***@qq.com
  • 发布:2021-11-17 19:43
  • 更新:2021-11-17 19:43
  • 阅读:804

关于uni的IOS白屏产生和优化策略

分类:uni-app

产生

任何手机设备上,当手机内存不足时,os都会回收资源。一般是先回收后台打开的资源。如果当前应用占用的资源过高,当前应用也有可能崩溃。引用

优化策略

使用ES6的async、await、Promise执行异步转同步。该方法改自引用

reloadCurrentPage: async (self, isTab = true) => {    
        // #ifdef APP-PLUS  
        let { route, options } = self.$scope  
        var url = '/' + route  
        if (options && options.data) {  
            url += '?data=' + options.data  
        }  

        const query = uni.createSelectorQuery().in(self);  
        let number = 30 // 最大获取节点次数  
        let data = await new Promise(async (resolve) => {  
            clearInterval(interval)  
            interval = setInterval(async () => {  
                let result = await new Promise(r => {  
                    query.select('.x-container').fields({ size: true }, d => {  
                        r(d)  
                    }).exec()  
                })  
                if (result || number <= 0) {  
                    clearInterval(interval)  
                    resolve(result)  
                }  
                number--  
            }, 100) // 每次获取节点频率  
        })  
         // 当无法获取节点时执行重载页面  
         if (!data) {  
            if (isTab) {  
                uni.reLaunch({ url })  
            } else {  
                uni.redirectTo({ url })  
            }  
        }  
        // #endif    
    }  
0 关注 分享

要回复文章请先登录注册