调整iOS大小Google地图会在地图视图达到Google徽标大小时显着降低性能

时间:2017-01-23 11:55:01

标签: google-maps google-maps-sdk-ios

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

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

在地图达到“Google”徽标的相同高度尺寸时会产生性能损失,从此处观察到FPS显着下降。

值得注意的是,在我们执行相同步骤的Android上,Google徽标会按比例缩放到地图视图的大小。在Android上没有观察到任何性能损失。

在iOS上,当视图更改大小时,徽标调整大小 - 我们认为这与错误有关。

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

在我们的特殊情况下,由于与错误无关的原因:我们有一个滚动视图,因为视图滚动并且地图被推离屏幕我们想要将地图缩小到当前可见的屏幕尺寸。

地图团队的某位人员可以调查吗?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您正在做的是更改地图的frame UIView,对吧?

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

示例:

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