2011-10-23 18 views
0

This SO questionは、フラグメントによって返されたViewインスタンスを保存することによるメモリーリークを処理し、特定の状況下でフラグメントのonCreateViewが同じViewを返すことを可能にします。結論として、保存されたビューは(コンテキストを介して)アクティビティを保持し、リリースを許可しないため、メモリリークが発生します。Android - シングルアクティビティのマルチフラグメントケースのフラグメントでの再利用の表示

私のアプリケーション全体を1つのアクティビティで実装している場合、この問題は無関係と考えることができますか?あるいは、それを保存しないように他の考慮事項がありますか?

ありがとうございます!ダニー。

編集:ViewをFragmentコンストラクタのパラメータとして指定した場合、状況は悪化しますか?

答えて

0

問題は無関係ではありません。通常のアクティビティライフサイクルでこの同じ問題が発生する可能性があります。

最良の解決策は、View.onSaveInstanceState()View.onRestoreSavedInstanceState(Bundle)の方法を使用して、ビューを適切に復元することです。特に難解なことをしない限り、これらはあなたが必要とするものでなければなりません。

+0

ありがとうございます!私のケースは非常に難解かもしれないと思います。問題は、 'View'自体を保存したいだけで、いくつかの状態変数を保存したくないということです。その理由は、私が保存したいビュー階層全体は、実行時に作成され、少し複雑なメカニズムを介して 'Fragment'に渡され、再作成するのは非常に非効率的なためです。私は、アクティビティのライフサイクルのどこにこれが起こるのかを確かめていませんか?悪い場合は、活動が殺されている場合は、その場合は、断片は一緒に死ぬ?ありがとう。 – DannyA

関連する問題