uni-app 进入使用地图的页面返回主页面时发生闪退
uni-app 进入使用地图的页面返回主页面时发生闪退
项目信息 | 详情 |
---|---|
产品分类 | uniapp/App |
PC开发环境操作系统 | Windows |
PC开发环境操作系统版本号 | 19043.928 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 3.4.6 |
手机系统 | Android |
手机系统版本号 | Android 12 |
手机厂商 | 小米 |
手机机型 | 红米k30pro |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
操作步骤:
- 进入地图页面然后返回主页面
预期结果:
- 不闪退
实际结果:
- 闪退
bug描述:
hbuilderx更新到3.4后云打包,进入地图页面然后返回主页面会发生闪退;更新之前都是好的
HX3.4.7已修复该问题
页面
有没有大佬看看啊
就是进入右下角海上救援页面然后返回。
回复 9***@qq.com: 收到 已开始验证
回复 9***@qq.com: 你好测试时 默认基座调试能复现问题
回复 DCloud_Android_ST: 我用默认基座调试没有出现闪退呢?具体是什么原因您们发现了?
回复 9***@qq.com: 你的APP确实能复现问题。具体是高德地图内部底层报错。我们在想办法确认原因并及时修复
回复 DCloud_Android_ST: 目前已确认是更新高德SDK导致 目前测试更新高德SDK最新版本问题修复。预测未来两天会再次发版修复该问题
回复 DCloud_Android_ST: 好的,谢谢
回复 DCloud_Android_ST: 还有个bug就是小米手机miui更新到miui13后,软键盘弹起后又会马上关闭。我提了bug也没人回复,https://ask.dcloud.net.cn/question/140524,在我那个app的常见问题页面,反复进入页面多试几次可以复现,同事其他品牌手机又是好的。不知道是小米的问题还是什么
在使用 uni-app 开发时,进入使用地图的页面后返回主页面时发生闪退,可能是由于以下几个原因导致的。以下是一些常见的排查和解决方法:
1. 地图组件未正确销毁
-
问题描述:在返回主页面时,地图组件可能没有正确销毁,导致内存泄漏或资源未释放,从而引发闪退。
-
解决方法:在页面的
onUnload
生命周期中,手动销毁地图组件或释放相关资源。onUnload() { // 销毁地图实例 if (this.map) { this.map.destroy(); this.map = null; } }
2. 内存泄漏
-
问题描述:地图组件可能占用了大量内存,如果页面频繁切换,可能会导致内存不足,从而引发闪退。
-
解决方法:优化地图组件的使用,避免在页面中频繁创建和销毁地图实例。可以考虑使用
keep-alive
缓存页面,减少地图组件的重复创建。<keep-alive> <map-page></map-page> </keep-alive>
3. 地图 SDK 版本问题
- 问题描述:使用的地图 SDK 版本可能存在兼容性问题或已知的 Bug,导致闪退。
- 解决方法:检查并更新地图 SDK 到最新版本,或者尝试使用其他版本的地图 SDK。
4. 页面生命周期管理不当
-
问题描述:在页面切换时,可能没有正确处理页面的生命周期,导致资源未释放或状态不一致,从而引发闪退。
-
解决方法:确保在页面的
onHide
或onUnload
生命周期中,正确释放资源和清理状态。onHide() { // 暂停地图的渲染或其他操作 if (this.map) { this.map.pause(); } } onUnload() { // 销毁地图实例 if (this.map) { this.map.destroy(); this.map = null; } }