要更新MapView的一個GPS指示燈的位置...iPhone mapView/mapKit使用removeAnnotation&addAnnotation導致內存泄漏?
[mapView removeAnnotation:myGpsAnnotation];
[myGpsAnnotation release];
myGpsAnnotation = nil;
myGpsAnnotation = [[MapLocationAnnotation alloc] initWithCoordinate:region.center annotationType:MapAnnotationTypeGps title:MAP_ANNOTATION_TYPE_GPS];
[mapView addAnnotation:myGpsAnnotation];
...我看到網內存在儀器(模擬器)緩慢攀升。沒有「泄漏」點,但「網絡字節」和「#網」緩慢遞增......除非此代碼被註釋掉。所以我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];
...那麼「網絡字節」和「#網」更快增加。有沒有可能這不是我的錯誤,我試圖追蹤MapKit中的泄漏?我真的在泄漏記憶嗎?再次,「泄漏」下沒有任何內容出現,但是我不明白爲什麼Net值會不斷攀升。
感謝您的任何幫助,--God
我很感興趣,你如何能夠做到這一點,請如果你有一個代碼的和平可以粘貼它,就像我們也可以學習THX很多幫助我們...... – user482611 2011-01-22 14:37:57