2016-11-16 4 views
3

Если я использую слушателя в деятельности следующим образом:Слушателя Firebase нужно всегда удалять?

// Read from the database 
myRef.addValueEventListener(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     // This method is called once with the initial value and again 
     // whenever data at this location is updated. 
     String value = dataSnapshot.getValue(String.class); 
     Log.d(TAG, "Value is: " + value); 
    } 

    @Override 
    public void onCancelled(DatabaseError error) { 
     // Failed to read value 
     Log.w(TAG, "Failed to read value.", error.toException()); 
    } 
}); 

Прикрепление annonymous слушателя (событие, которое не прилагается к переменной), нужно ли мне, чтобы удалить его?

* Я поставил это на onStart() и нужно его запустить до onStop()/onDestroy()

Когда не это nessecery удалить слушателя?

+0

Если у вас есть только один EventListener, который вам не нужно удалять, он автоматически удаляется, так как прослушиватель загружает данные в список. –

ответ

1

Если вы хотите, чтобы слушатель работал только во время активности, вы можете отключить прослушиватель, вызвав метод removeEventListener() в ссылке базы данных Firebase. Если вы присоедините слушателя к вашему onStart(), вы должны отсоединиться в onStop().

@Override 
protected void onStop() { 
    super.onStop(); 

    //... 
    myRef.removeEventListener(); 
} 
Смежные вопросы