Για να ενημερώσετε τη θέση του δείκτη GPS για MapView ...
[mapView removeAnnotation:myGpsAnnotation];
[myGpsAnnotation release];
myGpsAnnotation = nil;
myGpsAnnotation = [[MapLocationAnnotation alloc] initWithCoordinate:region.center annotationType:MapAnnotationTypeGps title:MAP_ANNOTATION_TYPE_GPS];
[mapView addAnnotation:myGpsAnnotation];
... Βλέπω καθαρή μνήμη αργά αναρρίχηση σε Instruments (simulator). Δεν blip «διαρροή», αλλά «Net Bytes» και «# Net» σιγά-σιγά προσαύξηση ... εκτός και αν αυτός ο κώδικας είναι σε σχόλια. Έτσι είμαι 100% σίγουρος ότι και αυτός είναι ο κώδικας υποτροπής.
Αλλά αν κάνετε τα εξής ...
[mapView removeAnnotation:myGpsAnnotation];
[myGpsAnnotation release];
myGpsAnnotation = nil;
myGpsAnnotation = [[MapLocationAnnotation alloc] initWithCoordinate:region.center annotationType:MapAnnotationTypeGps title:MAP_ANNOTATION_TYPE_GPS];
[mapView addAnnotation:myGpsAnnotation];
[mapView removeAnnotation:myGpsAnnotation];
[mapView addAnnotation:myGpsAnnotation];
[mapView removeAnnotation:myGpsAnnotation];
[mapView addAnnotation:myGpsAnnotation];
... τότε το «Net Bytes» και «# καθαρά» αυξηθεί πολύ πιο γρήγορα. Είναι δυνατόν αυτό δεν είναι λάθος μου, και εγώ προσπαθώ να εντοπίσουμε μια διαρροή στο MapKit; Είμαι πραγματικά διαρροή μνήμης; Και πάλι, τίποτα δεν εμφανίζεται κάτω από «διαρροές», αλλά τότε δεν βλέπω γιατί Καθαρές τιμές θα αναρρίχηση συνεχώς.
Ευχαριστώ για οποιαδήποτε βοήθεια, -Gord













