Rozmiar aplikacji z ładowaniem Apple MAP
Walczę z problemem, który wygląda jak prosty, ale sprawia, że rozmiar aplikacji sięga 30–35 MB. Aplikacja jest włączona ARC. Oto scenariusz.
1) Przywołuję aUIViewcontroller
z wewnątrz mojej metody (instancja viewController jest lokalna względem metody) i po jej naciśnięciuNavigationController
Ustawiam lokalną instancję jako zero.
btMapViewController *routeMap = [[btMapViewController alloc]init];
[routeMap setSourcLocation:[txtsource text]];
[routeMap setDestinationLocation:[txtDestination text]];
[routeMap setNightFareOn:addNightCharge];
[self.navigationController pushViewController:routeMap animated:YES];
routeMap = nil;
2) Nowo wciśnięty kontroler inicjalizuje aMKMapView
i wytyczyć na nim trasy. Aplikacja działa teraz w pamięci 35-40 MB, czyli 5 razy więcej niż była uruchomiona przed krokiem 1.
@interface btMapViewController ()
@property(nonatomic, strong) MKMapView *mapView;
@end
3) Teraz, jeśli wyskoczęUIViewcontroller
(ten załadowany w kroku 1), aplikacja działa w pamięci 30-34 MB.
Sprawdzam ślad pamięci, to jasne. Więc kto trzyma pamięć?
Czy to MKMap jest częścią implementacji interfejsu, która prowadzi do tego problemu, czy też powinienem uczynić go prywatnymbtMapViewController
klasa. ?