2016-04-21 5 views
0

Android携帯の[戻る]ボタンをクリックすると、ApplicationクラスもMainActivityも削除されません。戻るボタンでApp/MainActivityが処理されない

私の問題:私のアプリは完全に閉じたか、単に一時停止された場合

私が把握することはできません。どちらの場合も

protected override void OnSleep() {} 

が呼び出されています。

しかし、戻るボタンを押した後に正面に戻ったら、MainActivity &フォームApplicationが再びインスタンス化され、アプリ全体が再開したようです。一方...アプリを再起動does notの再び前面にそれを持参し、すべてがまだ実行されているとオープンし、それを最小限に抑えるために湖底中央のボタンをタップするとことで

私の質問:

問題があること、今あります私はメモリにアプリケーションとアクティビティを持っていますが、これはもう使用しません。私が見る限り、決して処分されることはありません。

さらに「戻る」ボタンをクリックしたときにアプリケーションを再起動したくない場合は、どうすればその問題を解決できますか?途中で最小化ボタンを使用した場合とまったく同じように動作します。それは可能ですか?

答えて

0

私が知る限り、これは設計によるものです。ルート(メイン)ページにいてホームボタンを押すと、アプリはバックグラウンドに移動しますが、メインページはまだインスタンス化され、メモリに残っています。これとは対照的に、戻るボタンを押すと、アプリはメインページをナビゲーションスタックから削除して、それを破棄します。したがって、動作させるために、アプリケーションはメインページ(NavigationPage)を再初期化する必要があります。

+0

しかし、私のアプリケーションクラスと私のMainActivityはどちらも初期化されていますが、両方の古いクラスはまだメモリに保持されていますか?私はEventAggregatorをApplicationクラスのメソッドにサブスクライブしています。これを押すと、アプリケーションを再び最大化するたびに2回(またはそれ以上)呼び出されます。私はそれが古いクラスを少なくとも処分してデストラクタを呼び出すことを期待しているので、EventAggregatorからそのクラスを退会させることができます。 – Jannik

関連する問題