Firebaseを使用してAndroidアプリを開発する際、我々は読み取りまたはFirebaseリアルタイムデータベースに書き込むために、このような何かをするだろう:上記の例でFirebaseDatabase.getInstance()を複数回初期化するとパフォーマンスに影響しますか?
Line 1: FirebaseDatabase database = FirebaseDatabase.getInstance();
Line 2: DatabaseReference myRef = database.getReference("A").child("B").child("C");
Line 3: myRef.setValue(50);
、私たちは「A /の場所に「50」を書いていますB/C "と書かれていますが、以前の書込み操作の後に別の場所に書き込む場合(「A/D/E」とします)、行1〜3を「Firebaseデータベースデータベース」は既に1行目(「アプローチ2」を参照)で既に宣言されているので、同じファイルの下の別の場所(下の「アプローチ1」を参照)、または2〜3行目だけを書くべきですか?
アプローチ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が良い)か?
ありがとうございます!
メインスレッドで包括的なメソッドを呼び出すと、アプリケーションが遅くなります。メインスレッドの場合は、アプローチ2が最適です。アプローチ2が最良のietherの方法ですが、非同期スレッドを使用する場合はアプローチ1を実行できますが、2は依然として最高で最速です。しかし、アプローチ1は、メインスレッド上にある場合、パフォーマンスに最も影響します。 – Zoe
@LunarWatcher setValuesは、タスクが別の方法で非同期で動作するようにタスクを返します。また、 'getInstance()'は同じインスタンスを返して両方のアプローチが同じになるようにします – X3Btel
両方のアプローチで2つの書き込みをするのではなく、1つの読み取りと1つの書き込みがあります(読み取り操作は値が –