0

私は、JASidePanels コントロールを使用してアプリケーションの左側にメニューを表示するアプリの最終開発段階にいます (アプリには 5 つのメイン セクションがあります)。

私は現在、CPU とメモリのボトルネックを特定するために XCode の Instruments に大きく依存していますが、中央のビュー コントローラを切り替えてもメモリが解放されないように見えることに気付きました。そのため、アプリを使用するにつれてメモリが増加し、メモリ警告をトリガーしてもあまり役に立たないようです.

左パネルメニューの項目がタップされたときに、次の方法を使用して中央パネルを切り替えます。

- (void)updateCenterViewControllerWithIdentifier:(NSString *)storyboardIdentifier;
{
    @try {
        self.centerPanel = [self.storyboard instantiateViewControllerWithIdentifier:storyboardIdentifier];
    } @catch (NSException *exception) {
        DDLogError(@"%@", exception);
    }
}

誰かがコントロールに精通していて、私が間違っている可能性があることを知っている場合は、アドバイスをいただければ幸いです。前もって感謝します

4

1 に答える 1

0

問題は例外処理にあると思います。try-catch が ARC でメモリ リークを引き起こしています。たとえば、ここで見つけることができる詳細: https://stackoverflow.com/a/27142288/1073388

もう 1 つのことは、nib の読み込みの問題を処理するために例外処理を使用すべきではないということです。例外を引き起こす可能性がある唯一の問題は、誤った nib 名ですが、これは開発中にチェックして修復することができます。例外は、例外的な動作を予測できない状況でのみ使用し、コード ブロックの異常な実行後にアプリケーションを終了する必要があります。

于 2015-03-24T10:17:26.923 に答える