1

私はあまり情報を知りませんがdidReceiveMemoryWarning、他の投稿で読んだことやドキュメントで探していることを考えると、iOS 5 の場合、目に見えないビュー コントローラーはビューをダンプすることがわかりましたが、 iOS 6 ドキュメント (ドキュメントには、デフォルトの実装が「終了」すると書かれており、それをどのように理解すればよいか正確にはわかりません。

メモリ不足の警告をシミュレートする iOS シミュレーターを使用していくつかのテストを行ってきましたが、スタックの 2 番目のビューでメモリ不足の警告をシミュレートした場合に (iOS 5 で) 感謝しています。現在のビューに戻ると、以前のビューが解放され、viewDidLoad が期待どおりに再度呼び出されますが、iOS 6 の場合、以前のビューは解放されませんでした。didReceiveMemoryWarningビューがリリースされていない場合、iOS 6での結果はどうなりますか? ビューが解放されていなくても、クラス変数 (NSMutableArray など) の割り当てが解除される可能性がありますか?

4

1 に答える 1

1

views are no longer purged under low-memory conditions and so this method [viewDidUnload] is never called( Deprecated UIViewController Methods )としてのみ、より多くの制御を行うことができます。

ビューの構築にコストがかかるものの、メモリをそれほど必要としない場合は、おそらく解放しないでしょう。iOs がメモリ警告の場合に何も解放しないことを私が知る限り、決定は完全にあなた次第であり、使用didReceiveMemoryWarningまたは他の通知技術 (「メモリ不足の警告を観察する」セクションを参照) に任されています。

WWDC 2012 セッション 236: The Evolution of View Controllers on iOSに興味があるかもしれません。

于 2013-03-13T18:39:41.913 に答える