内部に5つのビューコントローラーを備えたナビゲーションコントローラーベースのアプリケーションがあります。ビューコントローラーをプッシュすると、メモリが割り当てられ、popViewController に戻ると、delloc() メソッドが正しく呼び出されます。プッシュおよびポップするすべてのView Controllerに対して、deallocが正しい方法で呼び出されると確信しています。
それにもかかわらず、Instruments を使用してアプリケーションを実行すると (パフォーマンス ツールから開始 -> オブジェクトの割り当て、リーク)、奇妙な動作が発生します。ビュー コントローラーがポップされている場合、メモリ使用量は減少しません。正確には、期待どおりに減少しません。アプリケーションを起動すると、950 KB が使用されます。次に、最初のビュー コントローラーをプッシュすると、メモリ使用量が 1,56MB まで増加します。 、最後にView Controllerをポップすると、メモリ使用量は1,55MBになりました。
この動作は正しいですか?? ビューをポップするたびにすべての dealloc メソッドが正しく呼び出され、Leaks インストゥルメントがメモリ リークを示さないことを確信しています。オペレーティングシステムが何らかの方法でビューを「保持」しているため、同じView Controllerを2回目にプッシュすると、ロードプロセスがはるかに高速になると思います...
この振る舞いが正しいことを誰かが確認できますか? ありがとう