본문 바로가기
Android

[Android/Java] lifecycle 생명주기

by noddu 2022. 2. 10.
728x90
반응형

 

 

 

https://developer.android.com/guide/components/images/activity_lifecycle.png?hl=ko 

안드로이드 스튜디오 참고

 

 

 

생명주기 단계 간에 전환하기 위해 6개의 콜백으로 구성된

onCreate( ) , onStart( ) , onResume( ) , onPause( ) , onStop( ) , onDestory( )

등이 있다

 


 

 

 

onCreate()

이 콜백은 시스템이 먼저 활동을 생성할 때 실행되는 것으로, 필수적으로 구현해야한다

이 메서드는 savedInstanceState 매개변수를 수신

Bundle 객체, 이번에 처음 생성된 활동인 경우 Bundle 객체의 값은 null

XML 레이아웃 파일은 파일의 리소스 ID인 를 setContentView()에 전달하여 지정

완료되면 onStart() 호출

 


 

onStart()

호출되면 활동이 사용자에게 표시

매우 빠르게 완료되고, 생성됨 상태와 마찬가지로 활동은 시작됨 상태에 머무르지 않는다

onResume() 호출

 


 

onResume()

앱이 사용자와 상호작용, 주로 기능이 설정

앱에서 포커스가 떠날 때까지 앱이 이 상태

방해되는 이벤트가 발생하면 활동은 일시중지 상태에 들어가고,

onPause()호출

 

 


 

onPause()

사용자가 활동을 떠나는 것을 나타내는 첫 번째 신호로 이 메서드를 호출(해당 활동이 소멸x)

잠깐 실행, 데이터를 저장하거나, 네트워크 호출을 하거나, 데이터베이스 트랜잭션을 실행해서는 안됨

onPause() 또는 onStop() 호출

 


 

onStop()

활동이 더 이상 표시되지않으면 호출됨

사용자가 멀티 윈도우 모드에서 활동을 보고 있더라도 UI 관련 작업이 계속 진행

CPU를 비교적 많이 소모하는 종료 작업을 실행해야함

onRestart 또는 onDestory() 호출가능

 


 

onRestart()

onStop()이던 활동이 재시작

onStart() 자동호출

 


 

onDestory()

활동이 소멸되기 전에 호출( 예) finish()가 호출 )

활동이 수신하는 마지막 수명 주기 콜백

onDestroy()가 호출되는 경우 시스템이 즉시 새 활동 인스턴스를 생성한 다음, 새로운 구성에서 그 새로운 인스턴스에 관해 onCreate()를 호출

반응형