我讀過其他StackOverflow的問題和解答,並瞭解這是自iOS6(或通過設計,必須釋放委託,然後查看,誰知道)以來的錯誤。我不知道爲什麼或者沒有如何修復。內存泄漏在MapKit iOS8
Anywho,我已經從其他的答案添加的熱修復程序(下文,爲未來的讀者):
- (void) viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
[self applyMapViewMemoryHotFixOnDisappear];
}
- (void)applyMapViewMemoryHotFixOnDisappear{
[self applyMapViewMemoryHotFix];
self.mapView.showsUserLocation = NO;
self.mapView.delegate = nil;
self.locationManager.delegate = nil;
[self.mapView removeFromSuperview];
self.mapView = nil;
}
- (void)applyMapViewMemoryHotFix{
switch (self.mapView.mapType) {
case MKMapTypeHybrid:
{
self.mapView.mapType = MKMapTypeStandard;
}
break;
case MKMapTypeStandard:
{
self.mapView.mapType = MKMapTypeHybrid;
}
break;
default:
break;
}
self.mapView.mapType = MKMapTypeStandard;
}
-(void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated
{
[self applyMapViewMemoryHotFix];
}
然而,這個問題我有是,爲什麼不內存下降到MapKit前水平?
有別的我失蹤?這是預期的行爲?有沒有內存泄漏判斷由配置文件,但顯然有些東西是不正確的...
我看到的一樣。找到了解決辦法? – thejaz 2015-05-15 16:34:20
不!說實話,甚至不應用修改區域上的「修補程序」。 '內存泄漏'(如果它是這樣的話)沒問題,並且在真實設備上不明顯,並且它不會增長,這很好。 – SparkyRobinson 2015-05-16 15:03:26
同意,我注意到它在設備上比在模擬器中好得多。 – thejaz 2015-05-19 21:32:38