特别想请教一个问题,我在用uniapp做的app,ios端切换其它界面后再返回总是黑屏,一直查不到原因,哪位技术朋友能帮我看看,谢谢
onShow(){
uni.getSystemInfo({
success: (res) => {
if (res.platform == 'ios') {
const query = uni.createSelectorQuery().in(this);
var isRecovery = true;
query
.select('.content')
.boundingClientRect(data => {
isRecovery = false;
})
.exec();
var timer = setTimeout(() => {
if (!isRecovery) {
location.reload();
clearTimeout(timer);
timer = null;
}
}, 500)
}
},
})
},
黑屏的问题通常是由于内存不足导致的。在 iOS 上,应用程序的内存使用超过了系统所允许的限制,系统就会杀死应用程序并显示黑屏。
在 uni-app 中,可以使用 uni.getSystemInfoSync() 来获取设备的内存信息,并使用 uni.onMemoryWarning() 来监听内存不足的事件。
如果应用程序在切换界面后出现黑屏的问题,建议检查一下是否存在内存泄漏的问题。内存泄漏是指应用程序分配了内存,但后来却没有及时释放,导致内存被浪费。在 JavaScript 中,有些常见的内存泄漏模式包括:
1、全局变量和对象的循环引用
2、事件处理程序和闭包的循环引用
3、对象和 DOM 节点的循环引用
可以使用内存分析工具来检测内存泄漏的问题,并采取相应的措施进行修复。
还可以尝试重新启动应用程序,或者清理一下设备的内存,看看能否解决问题。
用的ui库不适配