2

単純に見える問題に取り組んでいますが、アプリの実行サイズが 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

UIViewcontroller3) (ステップ 1 でロードしたもの) をポップアウトすると、アプリは 30 ~ 34 MB のメモリで実行されます。

メモリ トレースを確認しましたが、クリアです。では、誰がその記憶を保持しているのでしょうか?

MKMap はインターフェイス実装の一部であり、この問題を引き起こしているのでしょうか、それともbtMapViewControllerクラス専用にするべきでしょうか。?

4

0 に答える 0