2

アプリのメモリ消費に問題があります。これを手伝っていただければ幸いです。前後にナビゲートするための10個のコントローラーを備えたナビゲーションコントローラーがあります。Instrumentsを使用してメモリ割り当てを確認しています( mtouch profiler)、前方に移動すると(1回目)、明らかにアプリによって消費されるメモリが増加します..しかし、ナビゲーションコントローラの標準の戻るボタンをクリックすると、メモリは同じ量のままであり、前進すると最悪です。再びメモリがさらに増加し​​ます(つまり、homeVC 10mb、VC1 = 10.5mb、homeVC = 10.5 mbに戻る、VC1 = 11mbに進む)、はい、VCをナビゲートしている間にメモリが増加しています。このシナリオでは、次の質問があります。

  • navコントローラーの標準の[戻る]ボタンでのアプリの動作はどうなりますか(PopViewControllerAnimatedを実行しますか?)。
  • PopViewControllerAnimatedおよびnavControllerの他のPopメソッドは、消えるVCによって消費されたメモリを解放する必要がありますか?
  • navcontrollersのPopメソッドがアプリのメモリを解放しない場合、メモリを大量に消費しないように、消えたVCをいつ破棄する必要がありますか?(モノタッチアプリでメモリを管理するための最良の方法を知りたいのですが、DidReceiveMemoryWarningメソッドを使用するか、アプリのメモリの解放を管理できる別の場所があります)。

よろしくお願いします。

4

2 に答える 2

1

これは、このバグに疑わしいほど似ています: https://bugzilla.xamarin.com/show_bug.cgi?id=1889

ときどきナビゲーション コントローラの ViewControllers プロパティをフェッチすることで、この問題を回避できます。

于 2012-04-20T21:56:40.243 に答える
0

VC を割り当ててプッシュするときに使用するコードを投稿できますか?

私が推測しているのは、割り当て後に解放していないため、[戻る] ボタンを押したときに NavigationController が解放されても、保持カウントは +1 のままです。

于 2012-04-20T21:58:38.773 に答える