2016-08-23 50 views
1

例如,当我在android中使用SQLiteDatabase时,打开/关闭大量SQLiteDatabase帮助程序通常不是一个好主意。相反,最好创建一种单例,确保只打开一个数据库。应该谨慎使用FirebaseDatabase.getInstance()吗?

假设我有一个静态方法的类,它执行大量需要DatabaseReference的Firebase操作。 例如:

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

是否确定调用FirebaseDatabase.getInstance()的每个方法里面?在每个方法内创建一个新的DatabaseReference?

还是最好从调用活动传递DatabaseReference?

static void notifyUser(mUserReference, hisUserId) 

VS

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

什么即时通讯寻求优化的网络使用和性能。或者,这一切都不重要,火力地堡为我处理一切吗?

回答

3

FirebaseDatabaseDatabaseReference对象可以被认为是相对便宜的对底层资源的引用。

Firebase SDK在后台管理这些事情。只有第一次致电FirebaseData.getInstance()才能完成设置工作,随后的调用(在同一过程中)将仅重新使用已完成的工作。