私はFirebase Realtime Databaseについてしばらく読んできましたが、データベースからイベントドリブンのデータを取得するという考え全体について考えているだけです。データが変更されたときにのみデータがデータベースからダウンロードされた場合、バッテリやインターネット接続などのデバイスリソースの要求はずっと少なくなければなりません。私は、データベースの構造を反映したModelオブジェクトでAndroidのアクティビティに必要なデータベース全体を再マップし、その値をChild/Valueリスナーで更新できると考えました。それから私はPOJOの柔軟な形式で必要なすべてのデータを取得し、データベースに変更があるたびに更新されます。したがって、実際にはリアルタイムの解決策です。しかし、そのような数のリスナーが、バッテリの寿命やデータ転送など、ユーザーのデバイスを減速させたり過負荷にするかどうかは疑問です。複数のFirebaseデータベースのチャイルド/バリューリスナーはモバイルアプリにとって効率的ですか?
Javaモデルオブジェクトにデータベースの状態を反映するのは良い解決策ですか、別の方法をとるべきですか?
誰でも私の疑問を解決できますか? ありがとう!
ありがとうございました!少し質問があります。対応するオブジェクトが不要になったとき、または削除されたときにすべてのリスナーを切り離すべきですか?もしそうなら、私はリスナーを参照する必要があります、そうではありませんか? – Mesayah
はい、必須です!アクティビティのライフサイクルに従って、 'yourRef.removeEventListener(valueEventListener);'を使用する必要があります。 –