私にはArrayListAdapter
があります。構成の変更では、リストは再作成されません。リストを維持したいと思います。私はこれを行うにはonSaveInstance()
メソッドを使用しましたが、私はそれがこの種のデータを保存する場所ではないことを知っています。setRetainInstanceを使用したConfigurationChangesのListAdapterのリスト項目の保持
より適切な方法はonRetainNonConfigurationInstance()
ですが、これは一部では推奨されていませんがsetRetainInstance()
です。上記の状況で、フラグメントのsetRetainInstanceがonRetainNonConfigurationInstanceをどのように置き換えることができるのか分かりません。
おかげ
ネットワークからデータをダウンロードした場合、適切な手順は次のとおりです。データベースに保存してからデータベースからロードしますか?私はdbのステップに保存をジャンプし、onSaveInstanceStateで保存していました。大きな過ち?ありがとう – Matroska
@Matroska: "ネットワークからダウンロードしたデータがある場合、適切な手順は次のとおりです。データベースに保存してからデータベースからロードしますか?" - すぐにデータをダウンロードする必要がない場合は、ディスクに保存することを検討してください。たとえば、ユーザーが明日あなたのアプリを実行し、そのデータが別のものであってはならない場合、なぜそれをもう一度ダウンロードするのですか? "大きな過ち?" - onSaveInstanceState()の 'Bundle'は、プロセス間でコピーされて渡されるので、それほど大きくすべきではありません。 「インスタンス状態」は、通常、*ユーザ*がそのバッキングデータではなくアクティビティ内で行ったことです。 – CommonsWare
私はオブジェクトシリアライザをonDestroyメソッドとonCreateのローダに入れました。私の質問は... onSaveInstanceStateは同じことをしませんか? – Matroska