【问题标题】:Flutter GMSMapView updateWithCamera crash EXC_BAD_ACCESS KERN_PROTECTION_FAILUREFlutter GMSMapView updateWithCamera 崩溃 EXC_BAD_ACCESS KERN_PROTECTION_FAILURE
【发布时间】:2021-01-05 11:41:43
【问题描述】:

我们在 iOS 上的 Flutter 应用中运行的 Google 地图偶尔会出现崩溃。我附上了堆栈跟踪的屏幕截图。有问题的电话是[GMSMapView updateWithCamera]

我们的设置基本上是:

BlocProvider<MapScreenBloc>GoogleMapsWidgetGoogleMaps(最后一个是来自google_maps_flutter 插件的实际谷歌地图小部件)

在创建 GoogleMaps 小部件时,我们将 bloc 的 onMapCreated 函数传递给构造函数参数,以便它存储 GoogleMapController。我的猜测是,在某些时候我们调用了_mapController.animateCamera(),但控制器已被破坏,但我不知道如何调试它。

有没有其他人经历过这种情况?有关如何调试/修复它的任何建议?

【问题讨论】:

    标签: flutter google-maps


    【解决方案1】:

    事实证明,Google 地图的 iOS/Flutter 实现存在错误。我在这里为他们创建了一个 PR: https://github.com/flutter/plugins/pull/3426

    事实证明,他们反复添加addObserver:,当最终更新该密钥路径时,观察者被调用了很多次,以至于操作系统强制关闭应用程序,因为它认为应用程序进入了无限循环。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-16
      • 2011-12-25
      • 2022-06-24
      • 2013-03-24
      • 2010-11-18
      • 2013-01-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多