#13 [Kotlin] LifeCycle

정상준·2022년 10월 29일
0

kotlin

목록 보기
13/26
post-thumbnail
post-custom-banner

📝LifeCycle

📝Activity Lifecycle

vue image

onCreate() : 앱 켤 때 딱 한 번만 실행됨,UI 그려줌, 액티비티 내 모든 요소들을 이 메소드에서 초기화 시킬 수 있음

onStart() : UI 그려진걸 사용자에게 보여주기 위한 준비상태

onResume() : 이벤트나 새로고침하는 단계, 기기화면 꺼지기전까지는 계속 돌아감,여기서 리사이클뷰 돌아감, 이 시점부터는 Activity가 활성화 된 상태

onPause() : onResume() 가 호출된 이후에 포커스를 잃은 경우 호출, 다시 기존 Activity로 돌아오는 경우 onResume()가 호출, 다른 앱이 메모리를 필요로 할 경우 앱 프로세스 종료

onStop() : onPuase()와 비슷하지만 포커스를 잃은 경우 뿐 아니라 Activity가 완전히 보이지 않게 되면 호출, 다시 기존의 Activity로 돌아오는 경우 onStart()가 호출

onRestart() : onStop()에서 다시 액티비티로 돌아올 경우 다시

onStart()로 들어감

onDestroy() : Activity가 완전히 종료되는 경우 호출

📝Fragment Lifecycle

onAttach()

  1. Activity에서 Fragment를 추가하면 호출된다.

  2. 인자로 context를 받아서 Listener interface를 implement한 경우 에 Context를 통해 가져올 수 있다.

onCreate()

  1. onAttach()다음으로 호출되는 함수다.

  2. 액티비티의 onCreate()와 역할이 비슷하다.

  3. 단, UI에 관련된 작업(ex. View와 ViewGroup의 ui바인딩과 같은 작업들..)은 할 수 없다.

  4. 하지만, UI관련된 작업외, Int형..등등의 변수 초기화 등의 작업정도는 가능하다.

onCreateView()

  1. onCreate()다음으로 호출되는 함수다.

  2. 지금부터, Fragment에 속한 UI관련된 작업을 할수 있는 단계다.

onActivityCreated()

  1. onCreate()다음으로 호출되는 함수다.

  2. Fragment가 backStack에서 돌아오면 호출되는 함수이기도 하다.

  3. Activity에서 Fragment 생성이 완료되면 호출되는 함수다.

onStart()

  1. onActivityCreated()다음으로 호출되는 함수다.

  2. Activity와 마찬가지로 이 시점부터는 사용자가 액티비티를 볼 수 있다.

onResume()

  1. onStart() 다음으로 호출되는 함수다.

  2. Activity와 마찬가지로 이 시점부터는 Fragment가 활성화 된 상태(실행중인 상태)로 본다.

onPause()

1. Fragment의 호스트 Activity가 포커스를 잃고 다른 Activity가 최상단에서 보여지는 경우 호출된다.

  1. 1번과 같은 경우, Fragment가 backStack으로 들어간다.

onStop()

  1. Fragment의 호스트 Activity가 포커스를 잃고 다른 Activity가 최상단에서 보여지는 경우 + Activity가 완전히 보이지 않는경우 호출된다.

onDestroyView()

  1. Fragment에 구현된 View가 제거되는 단계다.

  2. 이 메소드가 호출된 이후 Fragment가 BackStack에서 돌아오면 onCreateView()가 호출된다.

onDestroy()

  1. 프래그먼트를 완전히 제거하기 직전이다.

onDetach()

  1. Fragment가 제거되고, Activity로부터 해제될때 호출된다.
profile
안드로이드개발자
post-custom-banner

0개의 댓글