2017-05-23 4 views
0

내 앱은 백그라운드에서 실행되며 SingleValueEventsetValue() 메소드 만 사용합니다. 나는 심지어 SingleValueEvent와 setValue()를 1 초 사용하고, firebase은 여전히 ​​5 분 후에 연결한다고 들었습니다. 배터리 낭비.firebase realtimeDB 동시 연결을 줄이는 방법은 무엇입니까?

작업을 완료 한 후 어떻게 realtimeDB jsut와의 연결을 중지 할 수 있습니까?

+0

연결을 닫는 데 5 분의 지연이 배터리 소모가되지 않습니다. 이전에 연결을 종료하기 위해'goOffline()'을 호출 할 수는 있지만 연결의 마이크로 관리 유형은 배터리 수명을 늘릴 수 없습니다. –

답변

1

Frank van Puffelen의 이전 post에서 언급했듯이 5 분 동안 활성 리스너가없고 쓰기가 없으면 Firebase 클라이언트는 자동으로 연결을 끊습니다. 새 수신기를 연결하거나 데이터를 쓸 때 자동으로 다시 연결됩니다. 즉, 자동으로 다시 연결된다는 의미입니다. only if you create other listeners or you need to write data into the database.

따라서 새 수신기가없고 데이터를 쓸 필요가 없다면 걱정할 필요가 없습니다.

청취자를 제거 할 곳은 onPause() 또는 onStop()입니다.

희망이 있습니다.

+0

도와 주셔서 감사합니다. 나는 한 가지 더 질문이있다. 5 분이 지나면 goOffline 메서드를 사용하면 DB로 수동으로 잘라낼 수 있습니까? –

+0

예, [공식 문서] (https://firebase.google.com/docs/reference/android/com/google/firebase/database/FirebaseDatabase.html#goOffline()) sais에서 '모든 연결을 종료합니다. Firebase Database는 goOnline()이 호출 될 때까지 백엔드합니다. –

+0

해결할 수 있었습니까? –

관련 문제