以前在android app中使用地图时都是用的百度地图,新的项目需要使用高德地图。
按照高德地图的开发文档创建测试项目,导入依赖,很快就成功显示了地图,然后在退出地图Activity时,app立即崩溃,通过追踪,发现是在销毁地图时出现崩溃,即mapView.onDestroy()
这行代码有问题。
反复查看文档和检查代码都找不到原因,下载高德地图SDK提供的DEMO测试时却发现,DEMO运行没有任何问题。比较DEMO和我的代码,显示地图的关键代码没有任何不同,实在不知道问题出在哪。
比较build.gradle时发现,DEMO的targetSdkVersion是26,我的targetSdkVersion是32,问题可能就出在这。百度到多个其他SDK在Android 11上崩溃的现象,可以通过在AndroidManifest.xml文件中加入android:allowNativeHeapPointerTagging="false"
来解决,尝试在我的AndroidManifest.xml文件中也加入这一项,问题解决。