2017-02-27 1 views
2

문서가 말하기를, 리스너를 사용 후 제거해야합니다.
그런 다음 사용 후 청취자를 제거 할 필요가 없습니까?나는 한 번만 실행 SingleValueEvent은 "addListenerForSingleValueEvent"

final Query query = getChatsRef().limitToLast(20); 
query.addListenerForSingleValueEvent(new ValueEventListener() { 

    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     query.removeEventListener(this);   
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) { 
     query.removeEventListener(this); 
    } 
}); 

답변

10

아니요. 코드 스 니펫 에서처럼 수신기를 제거 할 필요가 없습니다. 청취자가 아직 발사되지 않은 경우 당신이 once 리스너를 제거 할 수 있습니다

유일한 이유이다. 내가 볼 수있는 유일한 시간은 Firebase 서버에 연결되어 있지 않고 검사중인 위치가 캐시되지 않은 경우입니다. 그것은 상당히 적은 수의 경우 여야합니다. 빠른 답변

+0

감사합니다! – wonsuc

+1

addListenerForSingleValueEvent 아래의 참조 문서에 포함시키는 것이 좋습니다. 감사. – GregM