自分でhow to store such user data in your databaseを説明しているドキュメントのセクションを参照しているものとします。
ユーザを認証すると、プロファイルまたはユーザ状態はFirebaseデータベースに保存されません。
Firebase認証は、Firebaseデータベースとは完全に統合されていますが、Firebaseデータベースとは別のサービスです。
Firebase認証でユーザにサインインすると、Firebaseクライアントは結果のトークンをアプリのSharedPreferences
に保存します。これは、アプリケーションが再起動しても存続することを意味します(ただし、アプリがアクティブでない間は期限切れになる可能性があります)。
認証状態もメモリに保持されます。すべてのFirebase
オブジェクトはシーンの背後で同じセッションを共有するので、それらの間には1つのオブジェクトしかありません。これは、すべてFirebase
の参照の中に1人の認証されたユーザーしか持つこともできないことを意味します。
getAuth()
を呼び出すと、Firebaseサーバにコールバックされません。その理由は、Firebase APIコールが同期しているためです。
返信いただきありがとうございます。 しかし、質問の一部は残っており、FirebaseがAuthManager内にあるメモリとオブジェクトAuthDataをどのように処理するかを参照するものです。 たとえば、OkHttpまたはPicassoを使用すると、オブジェクトのインスタンスを1つ使用して、使用するたびにすべてのハンドラやオブジェクトなどを割り当てたり初期化したりすることがなくなります。 私はアプリの一部を設計しようとしているため、Firebase認証がアプリにプラグインする最良の方法を理解するためにどのように設計されているかを知る必要があります。 – user3638722
私はそれについてさらに詳しい情報を追加しました。これは早すぎる最適化の重大なケース、またはあなたが心配していることの具体性に欠ける質問のいずれかであることに注意してください。あなた自身のコードは、Firebase SDKよりもはるかに問題を引き起こす可能性があります(もちろんそうかもしれませんが)。 –
SDKがどのように機能するかについての情報を求めるのは時期尚早の最適化ではなく、単なる質問です。 「自分のコードはFirebase SDKよりも問題を引き起こす可能性が非常に高い」という理由から、SDK内のメモリ管理について尋ねているので、何かを壊したり問題を引き起こさないようにコードを構築することができます。 私は別の方法で質問します:Firebase Android SDKは、RAMメモリに認証状態を保持していますか、Firebaseオブジェクトの新しいインスタンスを作成するたびに変更されますか? ありがとう! – user3638722