小编use*_*441的帖子

向地图添加注释太慢 - iOS

我有一个关于在iOS中向地图添加注释的性能问题(使用标准的mapkit方法 - 因此使用Apple地图).我正在尝试使用该(void)addAnnotations:(NSArray *)annotations方法批量添加大量注释(10000+).注释对象没有什么特别之处 - 一个非常基本的类,MKAnnotation只使用如下定义的构造函数来实现:

- (id)initWithTitle:(NSString *)ttl andCoordinate:(CLLocationCoordinate2D)c2d {
    if(self = [super init]) {
        title = ttl;
        coordinate = c2d;
    }

    return self;
}
Run Code Online (Sandbox Code Playgroud)

为了测试,我创建了一个基本的应用程序,只需在加载时将注释添加到基本地图视图,在iPad上大约需要6-7秒2.非常可接受的性能.但是,当我在自己的应用程序中嵌入相同的基本地图视图时,事情会变得复杂.这是完全相同的逻辑,但是当我在我的应用程序中执行它时,加载所有注释大约需要50秒.

我的应用程序彼此之间有很多视图.为了查明问题,我已经开始从最低级别开始嵌入地图视图,直到我达到顶级.我已经完成了每一步的分析,看它是否有助于性能,但我没有看到任何结果 - 它仍然是大约50秒.现在,我的应用程序基本上只加载并添加注释到顶级和唯一级别的地图视图,理想情况下与独立应用程序相同,但无论出于何种原因,我仍然看到注释渲染大约需要50秒.我唯一合理的解释是我所拥有的一些应用程序设置会以某种方式干扰地图性能.我做了一堆阅读,想出一个无济于事的解决方案.

有人对这里可能出现的问题有任何想法吗?谢谢!

performance maps annotations ipad ios

5
推荐指数
1
解决办法
1133
查看次数

标签 统计

annotations ×1

ios ×1

ipad ×1

maps ×1

performance ×1