アクティビティ間で (比較的) 大量のデータを共有する必要があるアプリケーションを作成しています。最初は、データをシリアル化するか、パーセル可能にすることで、アクティビティ間でデータを渡していましたが、かなり速く面倒になりました (特に、ユーザーが [戻る] を押したときにデータを保持する必要がある場合)。ここで、Application クラスを使用してグローバル シングルトンに格納することにしました。今では、はるかにクリーンでシンプルになりました (これが、私がそれをやりたい主な理由です)。関連性はありませんが、レストラン注文アプリケーションであり、グローバルとして保存しているデータは次のとおりです。
- カテゴリ内のすべてのメニュー項目のリスト。HashMap < Integer, ArrayList> (サーバーから取得するため、起動ごとに変更される可能性があります)。
- ユーザーが追加したすべてのものを含むカート HashMap < Integer, HashMap >
- 単純な文字列。
質問は簡単です。「ビッグボーイズ」はどうやってこれを行うのでしょうか? Application クラスを使用するのは正しいですか? ここに物を保管しすぎることを心配する必要はありますか? これをドロップして、Serializable/Parcelable のものを使用し、常に Intent に配置する必要がありますか?