QA集成高德地图SDK闪退问题

Posted 左郁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QA集成高德地图SDK闪退问题相关的知识,希望对你有一定的参考价值。

集成高德地图SDK闪退问题

昨天集成高德地图SDK,地图显示正常,但是点击返回键退出地图的时候,程序闪退,排查发现销毁地图时调用,mapView.onDestroy() 闪退,不调用的话内存溢出,这。。。

可以确定的是,完全按照开发文档对接,对比Demo发现,应该是编译版本的问题,demo是编译版本是26,

我项目的版本情况如下:

  • CompileSdk 和 TargetSdk:30
  • Gradle版本:V7.3.3
  • 高德地图SDK版本:V9.3.0
implementation 'com.amap.api:navi-3dmap:latest.integration'

查看Google文档:

如果应用崩溃,并且您收到包含此链接的提示,这可能意味着存在以下某种情况:

  1. 应用尝试释放系统堆分配器未分配的指针。
  2. 应用中的某个部分修改了指针的顶部字节。不能修改指针的顶部字节,您需要更改代码来修复此问题。

指针的顶部字节被错误使用或修改的示例包括:

  1. 指向特定类型的指针将特定于应用的元数据存储在前 16 个地址位中。
  2. 指针的类型转换为双精度,然后又恢复为原来的类型,因此丢失了较低的地址位。
  3. 代码计算不同堆栈帧的局部变量地址之间的差异,作为测量递归深度的方法。

某些应用可能依赖于在设置指针的顶部字节后行为不正确的库。我们认识到,快速修复库中的这些底层问题可能非常重要。因此,使用 targetSdkLevel < 30 的应用默认不会启用指针标记。我们还为使用 targetSdkLevel >= 30 构建的应用提供了一个缓解办法以便过渡。
这个办法就是在 androidManifest.xml 文件中添加以下内容:

  <application android:allowNativeHeapPointerTagging="false">
  ...
  </application>

这将为应用停用指针标记功能。请注意,这并不会解决底层代码的运行状况问题。这个办法在未来的 Android 版本中将消失,因为这种性质的问题与 MTE 不兼容。

好吧,加上 android:allowNativeHeapPointerTagging=“false” 后亲测好使

以上是关于QA集成高德地图SDK闪退问题的主要内容,如果未能解决你的问题,请参考以下文章

QA集成高德地图SDK闪退问题

Android 集成高德地图SDK

Android 集成高德地图SDK

高德地图如何虚拟定位

android开发如何用高德地图进行模拟定位.

安卓开发—导入高德地图sdk后工程中无法找到相应的包