6

チャットやその他のリアルタイム メッセージに Firebase を使用するモバイル アプリ (現時点では Android と iOS) を開発しています。

使用している構造は次のとおりです。

firebase-url/user-id/
                 contacts/child-element
                 activities/
                           joined/child-element
                           created/child-element
                 notifications/child-element

アプリのデータを最新の状態に保つために、クエリを実行し、ユーザー ID ブランチ (連絡先、参加、作成、通知) の各第 1 レベルの子 (アクティビティの場合は第 2 レベル) に子リスナーをアタッチします。機能的には完璧に動作し、すべてを簡単に最新の状態に保つことができますが、今日 1 時間のユーザー テストを行ったところ、バッテリーの消耗がかなり激しく (1 人のユーザーの場合、アプリはバッテリーの約 26% を使用し、2 番目に多く使用されていました)、常に常に使用されていました。 GC コレクターはかなり頻繁に実行されますが、私の感覚では、firebase 接続が最大のユーザーである可能性があります。これは正しいです?user-id ブランチにのみ子リスナーを配置したほうがよいでしょうか?

どんな助けでも大歓迎です。必要に応じて、Android コードの一部を投稿します。

PS: これはアプリの Android バージョン用でした。

4

1 に答える 1