uni-app 在iOS上出现 app 闪退
uni-app 在iOS上出现 app 闪退
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | 7 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
PC开发环境操作系统版本号:7
HBuilderX类型:正式
HBuilderX版本号:3.1.2
手机系统:iOS
手机系统版本号:IOS 14
手机厂商:苹果
手机机型:iPhone X
页面类型:vue
打包方式:云端
项目创建方式:HBuilderX
### 示例代码:
首页index.vue部分代码如下:
```js
onLoad() {
_self = this;
_self.equipID = _self.getClientId();
// console.log(_self.equipID, '设备ID')
},
onShow() {
uni.getStorage({
key: 'userInfo',
success(res) {
var userID = res.data.userID;
_self.userID = userID;
_self.checkActivation();//检查用户是否激活
_self.checkLevel();//检查用户权益等级
},
fail() {
uni.navigateTo({
url: '../login/login'
})
}
})
},
App.vue中js没有写功能
<script>
export default {
onShow: function() {
},
}
</script>
### 操作步骤:
app正常使用期间没有任何问题,使用了十几天就会出现闪退,无法进入应用,重新安装再使用十几天又会闪退
预期结果:
无论app使用多久,都不会出现闪退,能够正常进入app
### 实际结果:
app使用了十几天就会出现闪退,无法进入应用,重新安装再使用十几天又会闪退
bug描述:
app在苹果手机上使用一段时间后,一点击进入app就会闪退到桌面
更多关于uni-app 在iOS上出现 app 闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html
4 回复
你把官方的demo打包一下试试
请问一下解决了吗?遇到了一样的问题,不知道咋排查
根据你描述的情况,iOS应用在使用一段时间后出现闪退,可能是以下几个原因导致的:
- 内存泄漏问题:
- 全局变量
_self
的使用可能导致内存无法释放 - 建议改为使用
this
或组件实例变量
- 存储数据问题:
uni.getStorage
获取的用户数据可能异常- 建议增加数据有效性校验
- 云端打包问题:
- 可能是特定iOS版本的兼容性问题
- 建议尝试本地打包测试
- 生命周期管理:
onShow
中执行的操作可能过于频繁- 建议将部分逻辑移到
onLoad
中
建议修改代码:
onLoad() {
this.equipID = this.getClientId();
this.initUserData();
},
methods: {
initUserData() {
try {
const res = await uni.getStorage({key: 'userInfo'});
if(res && res.data) {
this.userID = res.data.userID;
this.checkActivation();
this.checkLevel();
}
} catch(e) {
uni.navigateTo({url: '../login/login'});
}
}
}