关于uniapp的IOS应用白屏产生和优化策略

1 篇文章 0 订阅
1 篇文章 0 订阅

产生

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

优化策略(1)

使用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  
    }  

优化策略(2)

在manifest.json文件进行配置

"app-plus" : {
	"optimization" : {
	     "subPackages" : true
	 },
	 "runmode" : "liberate", // 开启分包优化后,必须配置资源释放模式
	 "kernel" : {
	 // 使用WKWebview渲染内核
	     "ios" : "WKWebview",
	     // 重新渲染行为
	     "recovery" : "restart"
	 },
}
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值