← 질문 목록
#85깊이 0

뷰 바인딩은 왜 onDestroyView에서 비우는가?

모바일심화메모리

Fragment 인스턴스가 백 스택에 남아도 뷰는 먼저 파괴될 수 있기 때문이다. 바인딩을 계속 잡으면 폐기된 뷰가 수집되지 않고 잘못 접근할 수도 있다.

  • Fragment 수명onCreate부터 onDestroy까지다
  • View 수명onCreateView부터 onDestroyView까지다

뷰를 갱신하는 관찰은 viewLifecycleOwner에 묶는다. 그러면 뷰가 파괴될 때 관찰도 멈춘다.

onDestroyView에서 어댑터와 리스너도 필요에 따라 끊는다. Fragment 필드에는 새 뷰가 생기기 전까지 뷰 참조를 남기지 않는다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

뷰 바인딩은 왜 onDestroyView에서 비우는가?