2016-08-23 7 views
1

たとえば、SQLiteDatabaseをアンドロイドで使用する場合、多くのSQLiteDatabaseヘルパーを開いたり閉じたりするのは良い考えではありません。代わりに、データベースが1つだけ開いていることを確認するような一種のシングルトンを作成する方が良いです。FirebaseDatabase.getInstance()を控えめに使用する必要がありますか?

私は、DatabaseReferenceを必要とする多くのFirebase操作を行う静的メソッドを持つクラスを持っています。 例:

static void checkIfUserIsMatched(...) 
static void notifyUser(...) 
static void modifyUser(...) 

は、それがOKすべてのメソッド内FirebaseDatabase.getInstance()を呼び出すことですか?各メソッド内に新しいDatabaseReferenceを作成しますか?

また、呼び出すアクティビティからDatabaseReferenceを渡す方が良いでしょうか?

static void notifyUser(myUserId, hisUserId) --> Create the reference inside method 

static void notifyUser(mUserReference, hisUserId) 

最適化するために探して何イムネットワークの使用状況とパフォーマンスです。それとも、これは問題ではないのですか?

答えて

3

FirebaseDatabaseおよびDatabaseReferenceオブジェクトは、基礎となるリソースへの比較的安価な参照と考えることができます。

Firebase SDKは、そのようなことを舞台裏で管理します。 FirebaseData.getInstance()への最初の呼び出しだけがセットアップ作業を行い、後続の呼び出し(同じプロセス内で)は既に行われた呼び出しを単に再利用します。

関連する問題