나는 약 1000 개의 MKPinAnnotationView가 화면 상에 동시에있는 MKMapView를 가지고있다.MKMapView 및 dequeueReusableAnnotationViewWithIdentifier :
스크롤 속도가 매우 느립니다.
내가 지금처럼 적절하게 내 주석보기를 큐에서 시도하고있다 :
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
static NSString *viewIdentifier = @"annotationView";
MKPinAnnotationView *annotationView = (MKPinAnnotationView *) [mapView dequeueReusableAnnotationViewWithIdentifier:viewIdentifier];
if (annotationView == nil) {
annotationView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:viewIdentifier] autorelease];
}
return annotationView;
}
는 그러나 나의 주석 뷰를 재사용되지 않습니다! 내지도에는 동시에 1000 개의 MKPinAnnotationView 인스턴스가 있습니다. 나는 이것이 느린 수행에 기여하고 있다고 느낄 수밖에 없다.
재사용 가능한 주석 뷰를 큐에서 제거하는 올바른 방법입니까? 동시에 같은 화면에 모두 있기 때문에 별도의 인스턴스가 필요하므로 재사용되지 않습니까?
수많은 화면상의 핀을 사용하여 스크롤링 속도를 높이는 데 유용한 정보가 있습니까?