-1

アクションバー、タブ、およびいくつかのフラグメントを含むメイン アクティビティがあります。タブを切り替えるたびに、完全なフラグメントが再作成されます。一部のフラグメントでは、Web サービスから読み込まれたコンテンツを含むリストビューがありますが、これを Web サービスから呼び戻したくありません... リストビューはクリック リストビューなので、ナビゲートできます。

フラグメントが最良の選択ですか、それともコンテンツを維持するために何か他のものが必要ですか? たとえば、iOS のタブバーでは、すべてのビューコントローラーが生き続けます。

助けてくれてありがとう!

4

1 に答える 1

0

s がメモリに永続化されるように動作を変更できるかどうかはわかりませんが、アダプターが使用する s の最大数を指定できる をFragment使用するときに、自分で同様のことを行う必要があることを覚えていますそれらを破壊し始める前に、メモリに保持します。ただし、これは私が特別な理由で行った少し例外的なケースです。FragmentPagerAdapterFragment

適切な 'Android の方法' は、Fragments とActivityクラスを設計して、作成/破棄サイクルを実行し、その状態を永続化して呼び出すことに日常的に対処できるようにすることです。破棄と作成の動作を変更しようとせず、その代わりFragmentに、まさにその目的のために設計された既存のライフサイクル メソッドを使用して から状態データを永続化する方がよいでしょう。Web サービスから読み込まれたデータは、データの種類に応じて適切な場所にキャッシュする必要があります。認識すべきことは、Fragment/Activityクラスは、デバイスのローテーションなどのイベント中に破棄されても対処できる必要があります。onDestroy()これは、デバイスがスリープ状態になった場合、またはアプリケーションがバックグラウンドになった場合などにも発生します。したがって、 /onCreate()サイクル間で状態と Web サービス データを保持する必要性から逃れることは困難です。

于 2013-02-04T17:16:15.627 に答える