解決辦法是在- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated中加入了兩行代碼
[self.map removeFromSuperview]; [self.view addSubview:mapView];
然后在以上兩行代碼后面加載你的UI頁面-----記住啦
在移除self.map的同時,重新加載mapView,兩行代碼就可以達到釋放內存的效果。
用Instruments測試顯示,之前不能釋放的內存可以釋放了。下圖中的Malloc 4.00MB 即為地圖申請的內存,總共申請164M,釋放132M后,程序平穩運行時的地圖內存只需要28M。
希望大家好好采納