単純に見える問題に取り組んでいますが、アプリの実行サイズが 30 ~ 35 MB になっています。アプリは ARC 対応です。これがシナリオです。
1)UIViewcontroller
メソッド内から呼び出します(viewControllerインスタンスはメソッドに対してローカルです)&それをプッシュした後NavigationController
、ローカルインスタンスをnilに設定しています。
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) 新しくプッシュされたコントローラーは、ルートを初期化しMKMapView
、ルートをプロットします。アプリは 35 ~ 40 MB のメモリで実行されるようになりました。これは、ステップ 1 の前に実行していたメモリの 5 倍です。
@interface btMapViewController ()
@property(nonatomic, strong) MKMapView *mapView;
@end
UIViewcontroller
3) (ステップ 1 でロードしたもの) をポップアウトすると、アプリは 30 ~ 34 MB のメモリで実行されます。
メモリ トレースを確認しましたが、クリアです。では、誰がその記憶を保持しているのでしょうか?
MKMap はインターフェイス実装の一部であり、この問題を引き起こしているのでしょうか、それともbtMapViewController
クラス専用にするべきでしょうか。?