产生
任何手机设备上,当手机内存不足时,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 个评论
要回复文章请先登录或注册