Утечки памяти при использовании FirestorePagingAdapter - PullRequest
0 голосов
/ 08 октября 2019

Я использовал FirestorePagingAdapter для загрузки данных из базы данных firebase firestore. Использование leakCanary показывает утечки памяти в BorrowedBooksFragment $ 1.mObservable . * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * FirestorePagingAdapter * * * * * * * * * * * * * * * *} * * * * * * * * 100 * onStop()enter image description here

Мой код следующий

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();
        }
    }
}
...