は、私はいくつかのUI(カップルのテキストボックスとか)でFragment
を作成し、私は、サーバーを照会するAsyncTask
を実行しているイムので、setRetainInstance
を使用(要求は一度だけ送信することができます)と私が必要AsyncTask
の結果だから私の質問は: UI全体でフラグメント全体を保持するのは間違っていますか?私は人々がFragment
を使用してsetRetainInstance
を使用するカップルの例を見ましたが、その余分なものを使用していない何か間違っていますか? setRetainInstance
を使用する際に問題が発生するのはなぜですか?これに関するドキュメントの情報を見つけることができませんでした。setRetainInstanceフラグメント
7
A
答えて
-1
オリエンテーションをロックしている場合は、うまくいくはずです。そうしないと、特定のアクティビティー・インスタンスに関連付けられているウィジェットを保持すると、メモリー・リークが発生する可能性があります。
2
setRetainInstance(true)
を使用しても、回転するとあなたのフラグメントは表示されたままになります(onDestroyView
、次にonCreateView
)。 onDestroyView
を超えるビューへの参照を保持しない限り、古いアクティビティのリークはありません。最良の方法は、onDestroyView
の参照を明示的にnullにすることですが、onCreateView
のコードは一般的にこれらの参照を上書きします。
人々はデータを保持するために別個のフラグメント(ビューなし)を使用するオンライン(いくつかの公式のものを含む)の例が多数あります。上記のことが正しいと仮定すると、これは不要です(リークを防ぐため)。多くの場合、データを処理するだけの責任があり、UIについて心配することのない別個のフラグメントを使用すると、より洗練されたコード/アーキテクチャに終わることがあります。
あなたは、using Eclipse MATを回した後、アクティビティコンテキストがリークしているかどうかを確認できます。
関連する問題
- 1. なぜフラグメント#setRetainInstance(boolean)を使用しますか?
- 2. XamarinのSetRetainInstanceが表示されない
- 3. setRetainInstanceを使用したConfigurationChangesのListAdapterのリスト項目の保持
- 4. setRetainInstanceがアンドロイドの設定変更で動作しません
- 5. フラグメント内のフラグメント
- 6. フラグメントとフラグメントの違いアフィニティー
- 7. フラグメント要素のフラグメントonClickメソッド
- 8. フラグメント内のフラグメントのタブ
- 9. フラグメントBのフラグメントAのボタンIDにアクセス
- 10. フラグメントが別のフラグメントに重複する
- 11. 子フラグメントからの親フラグメントの更新
- 12. アンドロイド:フラグメント
- 13. アンドロイド:フラグメント
- 14. はフラグメント
- 15. フラグメントをフラグメントに置き換えてフラグメントをナビゲートすると便利です
- 16. フラグメント内のスライディングドローラー
- 17. リストビューとフラグメント
- 18. フラグメント内のフラグメントトランザクション
- 19. トランジションアンドロイド・フラグメント・アップ・アップ
- 20. フラグメントとブロードキャストレシーバ
- 21. Froyoのフラグメント
- 22. フラグメント評価エラー
- 23. ViewPagerは - フラグメント
- 24. 再利用フラグメント
- 25. フラグメント内のTouchListView
- 26. フラグメントとローテーション
- 27. フラグメント内のListPreference
- 28. Android:フラグメントbackstack
- 29. フラグメント内のカスタムリスト
- 30. フラグメントとリスト
ただし、フラグメントに関連付けられているウィジェットはありませんか?多分、私はフラグメントがどのように機能するのか分からなかったでしょう。 – Raykud
向きがロックされていても、問題が発生する可能性があります。 Androidは設定変更のためにビューを再作成します。構成の変更は、ディスプレイの回転(通常の場合)、言語の変更、キーボードの着脱などが可能です。画面の回転を考慮しても、問題全体が解決されるわけではありません。 – sstn