0

在使用 Carto Mobile 地图 SDK 时,应用程序在主 Activity 被另一个全屏视图替换并尝试返回后不久就崩溃了。

当地图屏幕被替换时,我试图在主要活动的 onPause 中删除地图渲染和地图渲染侦听器。

我检查了可用的演示应用程序,但它们似乎没有表现出相同的行为。我获取最新版本作为 Gradle 依赖项。

我已将这些行添加到 onPause 调用的末尾:

mapView.getMapRenderer().setMapRendererListener(null);
mapView.getMapRenderer().delete();

我希望应用程序按预期运行,但此消息已注销:

abort_message:断言“以 carto::InvalidArgumentException 类型的未捕获异常终止:层已附加到不同的渲染器”失败

然后应用程序崩溃。

我最初并没有创建这个应用程序,我是一个承包商来修复这个应用程序,它已经有几年没有工作了,其中一些文件可以追溯到 2013 年。

如果可以的话请帮忙。

4

1 回答 1

0

我相信我有解决这个问题的方法。在上面的第一行之上,我使用以下方法从地图中删除了所有图层:

mapView.getLayers().clear();

希望能帮助遇到同样问题的其他人。

于 2019-11-07T22:16:30.293 回答