Я использовал FirestorePagingAdapter
для загрузки данных из базы данных firebase firestore. Использование leakCanary
показывает утечки памяти в BorrowedBooksFragment $ 1.mObservable . * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * FirestorePagingAdapter
* * * * * * * * * * * * * * * *} * * * * * * * * 100 * onStop()
Мой код следующий
public class BorrowedBooksFragment extends Fragment {
private void fetchBooks()
{
Query bookQuery= FirebaseDatabase
.getInstance()
.getReference()
.child("Books")
.orderByChild(ClassAttribute.Book.CURRENT_OWNER_ID)
.equalTo(user.getUid());
FirebaseRecyclerOptions<Book> options =
new FirebaseRecyclerOptions.Builder<Book>()
.setQuery(bookQuery,Book.class)
.setLifecycleOwner(this)
.build();
adapter= new FirebaseRecyclerAdapter<Book, BookViewHolder>(options) {
@NonNull
@Override
public BookViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.book_row_item, parent, false);
return new BookViewHolder(view);
}
};
@Override
public void onStart() {
super.onStart();
adapter.startListening();
}
@Override
public void onStop() {
super.onStop();
if(adapter != null) {
adapter.stopListening();
}
}
}