私の Twitter のようなアプリには、ベース アダプター用の非常に大きなデータ セットがあります。これは、それ自体が非常に大きいカスタム モデル (ネストされた参照を含む) で構成されています。
私が抱えている問題は、方向の変更でアクティビティを再作成するときに、リストの入力が非常に遅いことです (現在、データセットを に渡していますonSaveInstanceState
)
モデルをシリアル化する方法を変更することを検討しました (現在、ディスクへの保存を高速化した Kryo を使用しています)、ディスクへのキャッシュと でのリロード、リスト フラグメントでのonCreate
使用、setRetainInstance(true)
親アクティビティ。
後者は最速ですが、向きの処理には多くの欠点があり、コードのチャンクを書き直さなければならないことも意味するため、これは私が採用したい最後のオプションでもあります。
私の質問は、向きに合わせてアダプターを再配置するベストプラクティスは何ですか?
リストをシリアル化してパススルーするときに、OOM エラーを予測できますonSaveInstanceState
編集: 重複の可能性あり Android の方向変更間でデータを保持する最良の方法