Firebase の ValueEventListeners による適切なスレッド管理
Firebase ValueEventListener は別のスレッドで実行されるため、スレッド管理に関する懸念が生じます。リソースを効率的に使用するには、アプリケーションのライフサイクルに基づいて、必要に応じて ValueEventListeners を削除する必要があります。
ValueEventListeners を削除するタイミング
一般に、ValueEventListeners は次の場合に削除する必要があります。関連するアクティビティはアクティブではなくなります。これは、次のライフサイクル メソッドで実行できます:
ValueEventListeners を削除する方法
ValueEventListener を削除するには、次のコマンドを使用します。コード:
databaseReference.removeEventListener(valueEventListener);
ValueEventListeners を削除する利点
ValueEventListeners を適切に削除すると、次のことが可能になります。
代替アプローチ: addListenerForSingleValueEvent
場合によっては、ValueEventListener を削除する必要がない場合があります。 addListenerForSingleValueEvent メソッド:
例ValueEventListener の適切な使用法 (削除)
@Override protected void onStart() { super.onStart(); DatabaseReference Ref = FirebaseDatabase.getInstance().getReference(Constants.Client + "/" + path); Ref.keepSynced(true); Ref.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { } @Override public void onCancelled(DatabaseError databaseError) { } }); } @Override protected void onStop() { super.onStop(); Ref.removeEventListener(valueEventListener); }
以上がFirebase ValueEventListeners を適切に管理してアプリのパフォーマンスを最適化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。