2017-08-20 5 views
2

最近、私はActivitiesにデータを永続化するためのオプションを探しています。私は少しだけオンラインで検索し、他の人が使っているようないくつかの方法しか見つけられませんでした。そのうちのいくつかは -サービスを使用してアクティビティ間でデータを共有/保持する

  • テント
  • シングルトンクラス
  • ディスク
  • Application

Serviceを使用してはどうですか?私は、アクティビティ間のデータ永続化のためのサービスの使用が言及されている場所では見つかりませんでした。私がAndroidサービスで経験したことから、私はこれがこの目的のために使用できると確信しています。私が知る限り、他の人がデータ永続性のためにサービスを使用しない理由はありますか?もちろん

答えて

1

あなたはそれを行うことができますが、それははるかにオーバーヘッド(およびあなたはより多くのコードを記述する必要があり、あなたは、Androidについての詳細を理解する必要がある)です。いずれの場合においても

Serviceは(かなりApplicationクラスまたはシングルトンを使用するのと同じである)public static変数を使用するよりも、それ以上「永続的」ではありません。 Androidにリソースが必要な場合や、アプリがしばらく使用されていない場合や、携帯電話の状態が悪い場合は、Service、シングルトン、Applicationクラス、およびpublic static変数をホストするOSプロセスがAndroidによって強制終了されます。ですから、それよりも永続的なものにしたいのであれば、データベース、共有プリファレンスまたはファイルを使用する必要があります。

+1

非常に有益な回答ありがとうございます。私はサービスを利用する予定でしたが、再考します。 – DavidH

0
+0

なぜ、「持続性」メカニズムとして 'LocalBroadcastManager'を使用するのですか? –

関連する問題