java - 多次初始化 FirebaseDatabase.getInstance() 是否会影响性能?

标签 java android performance firebase firebase-realtime-database

使用 Firebase 开发 Android 应用时,我们会执行以下操作来读取或写入 Firebase 实时数据库:

Line 1: FirebaseDatabase database = FirebaseDatabase.getInstance();
Line 2: DatabaseReference myRef = database.getReference("A").child("B").child("C");
Line 3: myRef.setValue(50);

在上面的示例中,我们将“50”写入“A/B/C”的位置,但是如果在上一个写入操作之后,我想写入另一个位置(假设“A/D/E"),在同一文件下的另一个地方再次写入第 1~3 行(参见下面的“方法 1”)是否是一个很好的性能实践,或者我应该只写入第 2~3 行,因为“FirebaseDatabase 数据库"已在第 1 行中声明(请参阅下面的“方法 2”)?

方法 1:

Line 1: FirebaseDatabase database1 = FirebaseDatabase.getInstance();
Line 2: DatabaseReference myRef1 = database1.getReference("A").child("B").child("C");
Line 3: myRef1.setValue(50);
...
Line 4: FirebaseDatabase database2 = FirebaseDatabase.getInstance();
Line 5: DatabaseReference myRef2 = database2.getReference("A").child("D").child("E");
Line 6: myRef2.setValue(60);

方法 2:

Line 1: FirebaseDatabase database = FirebaseDatabase.getInstance();
Line 2: DatabaseReference myRef1 = database.getReference("A").child("B").child("C");
Line 3: myRef1.setValue(50);
...
Line 4: DatabaseReference myRef2 = database.getReference("A").child("D").child("E");
Line 5: myRef2.setValue(60);

我的问题是,上述哪一种方法会带来更好的性能?为每个写入操作多次创建 FirebaseDatabase.getInstance() 是否会提高性能(因此方法 1 更好)?或者它会使性能变得更差(因此方法 2 更好)?

谢谢!

最佳答案

看看这个answer 。只有第一个 getInstance() 才真正起作用。此后,如果您每次都 getInstance() 或重用同一个实例,则不会有性能增益/损失。 Firebase 将优化后台工作。

关于java - 多次初始化 FirebaseDatabase.getInstance() 是否会影响性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43029700/

相关文章:

java - EhCache BigMemory 与 RAM 磁盘上的 Diskstore

java - Android GPS 速度警报

performance - 使用 Cache 还是 CDN 更好?

java - 在 `n` 和 `java.util.PriorityQueue` 中插入 `initialCapacity=n` 元素的时间复杂度

android - anchor 导航不适用于三星 Android 设备

java - jackson JsonMappingException : Can not deserialize instance

Android 设备特定的相机路径问题

python - 哪个更适合 Python 3 中的字符串反转?

java - FTP:创建文件夹 (Android)

java - 创建 2 个可运行的 JAR,它们使用相同的库而不需要它们两次