1

从 MKMapView 中删除当前不可见的 MKAnnotations 在内存管理、电池寿命和处理器使用方面是否更好?

我说的是大量注释(比如~1000),在任何给定时间在当前区域中只有大约 20 个可见。我应该让 MapKit 完成隐藏图钉的工作,还是应该自己根据可见区域处理添加/删除注释?

4

2 回答 2

2

屏幕外的注释不会导致大量内存使用。MKAnnotation设计得非常轻巧,您应该尽量保持它们的小。内存猪是关联的视图(MKAnnotationView)。如果您有超过几百个可见,它将导致速度减慢和大量内存使用,并可能在旧设备上崩溃。1000 会减慢任何设备的速度,但可能不会使其崩溃。

总而言之,屏幕外注释无关紧要。当屏幕上有太多时,问题就会出现。为此,您必须删除注释以获得更好的性能。您如何决定删除和替换注释是一个更加困难的问题。

于 2011-02-04T15:40:04.660 回答
1

我会确保同时显示不超过 100 个注释。当您让 MKMapView 处理它时,如何防止用户缩小到整个世界导致 mapView 显示所有 1000 个注释?

于 2011-02-04T15:29:46.000 回答