この記事では、 Firebase
を使用する際にオフライン機能を実装するさまざまな方法、Androidプラットフォームでのオフライン機能とその例を有効にすることができる時期と理由についての情報を提供します。
私は何を使うべきですか?ディスクの永続性またはkeepSyncedコール?
私の経験から、あなたのアプリケーションが何をしているのか、そしてあなたのアプリケーションのトランザクションとデータベースをどのように管理しているかによって、いつもそれが異なると言えるでしょう。たとえば、ユーザーがデータの書き込みと読み取りを行っているだけで、削除や編集ができないアプリケーションがある場合は、 DiskPersistence
を使用することをおDiskPersistence
します。
また、 DiskPersistence
はデータをキャッシュに保存します。つまり、アプリはユーザーのデバイスにもっと多くのスペースを使用します。
アプリケーションが複雑な取引の多くを管理し、あなたのデータは実際に頻繁に更新されている場合一方では、おそらくあなたは避けなければならないDiskPersistence
し、使用keepSynced
あなたが新鮮な維持したい参考文献に。
どうして?
DiskPersistence
はローカルで取得したデータを格納します。連続したListenerValueEvents
とともに使用しないと、データの非同期化がDiskPersistence
発生する可能性があります。例えば:
これを避けるためには、すべての時間をトラッキングする参照に継続的なリスナーを保持することをお勧めします。
両方を一緒に使うことはできますか?
もちろん可能ですが、ほとんどのアプリでは、データが大量にダウンロードされるのを避け、接続がなくてもアプリを操作できるようにすることをおすすめします。
ユーザーデバイスのキャッシュスペースを気にしない場合は、 FirebaseDatabase
オブジェクトでdiskPersistence
を有効にし、短い参照時間に多くの時間がかかる可能性のある参照ごとにkeepSync
フラグを追加することをお勧めします。すべての時間を新鮮に保つ。