[Andorid/Kotlin] binding = null처리를 onDestroyView에서 해주는 이유

기존의 코드와 변경된 코드

  • 기존의 코드는 onDestroy()에서 binding을 null처리 해주었는데
override fun onDestroy() {
    super.onDestroy()
    _binding = null
}
  • 바뀐 코드는 다음과 같이 onDestroyView()때 binding을 null처리 해주는 것을 알 수 있다.
override fun onDestroyView() {
    super.onDestroyView()
    _binding = null
}
  • 그 이유는 다음의 Fragment LifeCycle, View LifeCycle을 보면 알 수 있다.

Fragment View LifeCycle

  • view에 대한 처리를 다뤄야하기 때문에 프래그먼트와 연결된 View Layer가 제거되는 중일 때 호출되는 onDestroyView() 때 bindig을 null 처리 해주어야 한다. :)

© 2023. All rights reserved.

by SoftyChoo