当地图视图达到谷歌标志的大小时,调整iOS谷歌地图的大小会对性能造成重大影响



我发布这条消息,因为这似乎是与地图团队沟通的推荐方式。

在iOS上调整地图大小时,我们观察到了显著的性能打击(例如60FPS到40FPS)。

当地图达到与"谷歌"标志相同的高度时,性能就会受到影响,从这里可以观察到FPS的显著下降。

值得注意的是,我们注意到,在Android上,当我们执行相同的步骤时,谷歌标志会与地图视图的大小成比例缩放。在安卓系统上没有观察到性能受到影响。

在iOS上,徽标是而不是随着视图大小的变化而调整大小-我们认为这在某种程度上与错误有关。

使用仪器探查器,我们注意到,当抖动发生时,mach_msg_trap的使用量似乎显著增加,该调用链中的可疑方法为[IOSurface initWithProperties]create_iosurface_with_pixel_format()allocate_buffer()

在我们的特殊情况下,由于与错误无关的原因:我们有一个滚动视图,当视图被滚动,地图被推离屏幕时,我们希望将地图缩小到当前在屏幕上可见的大小。

地图小组的人能调查一下吗?

如果我理解正确,您正在做的是更改地图的UIViewframe,对吗?

有一种不同的方法可以做到这一点。设置GMSMapView帧,使其覆盖整个超级视图,并使用谷歌地图提供的属性padding更改填充:谷歌地图:地图填充

示例:

let mapInsets = UIEdgeInsets(top: 100.0, left: 0.0, bottom: 0.0, right: 300.0)
mapView.padding = mapInsets

最新更新