【问题标题】:`[MKAnnotationView setBounds:]` has performance degragation problem on iOS SDK 15`[MKAnnotationView setBounds:]` 在 iOS SDK 15 上存在性能降级问题
【发布时间】:2021-11-25 10:28:54
【问题描述】:
  • 我通过扩展 MKAnnotationView 并覆盖 [MKAnnotationView setImage:] 方法创建了一个自定义注释视图。
  • [MKAnnotationView setImage:]方法被调用时,[MKAnnotationView setBounds:]被调用,从而[MKAnnotationView _metricsDidChange]和其他一些方法被调用。
  • 我看到[MKAnnotationView _metricsDidChange] 是性能问题的瓶颈。
  • 在 SDK 14 中,没有调用此类方法。

下面附上时间剖面截图:

SDK14:

SDK15:

【问题讨论】:

    标签: ios performance mapkit mkannotationview


    【解决方案1】:

    临时修复

    我搜索了但没有找到任何官方资料。

    最后,我找到了一个解决方法,确保SDK不会在[MKAnnotationView setImage:]方法中调用[MKAnnotationView setBounds:]

    • 在设置图像之前设置MWAnnotationView 的框架(使用图像大小)。

    回家这有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-08
      • 1970-01-01
      • 1970-01-01
      • 2016-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多