티스토리 뷰

반응형

Activity 라이프사이클

: Activity의 상태전이에 사용되는 콜백함수 흐름도

 

onCreate() : 시스템에서 Activity를 생성하기 위해 가장 먼저 실행되는 함수. 

onCreate()를 실행하면 Activity 는 "생성됨" 상태가 됨.

Activity의 전체 생명주기에서 단 한번만 실행되며, 애플리케이션의 시작 로직을 수행.

이때, onCreate의 매개변수 savedInstanceState를 수신하는데, 이는 Activity의 이전 저장 상태를 포함한 Bundle 객체.

( 처음생성된 Activity의 경우 Bundle 객체 값은 null )

 

onStart() : 해당 함수가 실행되면 Activity가 사용자에게 보이게 되며, Activity를 포어그라우드에 보내 사용호작용할 수 있도록 준비함( ex : UI 관리 코드를 초기화 )

onStart()가 실행되면 Activity는 "생성됨" 에서 "재개됨" 상태로 전이됨

 

onResume() : Activity의 상태가 "재개됨" 에 따라 해당 함수가 호출됨

앱이 사용자와 상호작용함. - 어떤 이벤트가 발생하여 앱에서 포커스가 떠날때까지 앱이 해당 상태에 머무름,

( ex : 전화가 오거나, 사용자가 다른 Activity로 이동하거나, 기기 화면이 꺼지는 등의 이벤트 )

onResume()에서 이벤트가 발생하면 Activity는 onPause()를 호출하고 Activity는 일시정지 상태가 됨

 

onPause() : 사용자가 Activity를 떠나는 것을 나타내는 첫번째 함수(Activity가 소멸되는 것이 아닌 포어그라운드에 있지 않게 되었다는 의미 )

Activity의 상태가 "일시정지됨" 상태로 전이됨

"중요!! : onPause() 는 매우 짧은 시간 실행되므로 저장작업을 수행하기에는 시간이 부족함"
-> 절대 애플리케이션/사용자 데이털르 저장하거나 네트워크를 호출하거나, 데이터베이스 트랜잭션을 수행하면 안됨!!

onStop() : Activity가 사용자에게 더이상 표시되지 않으면 "중단됨" 상태로 전이됨

( ex : 새로운 Activity가 화면 전체를 차지할 경우 )

이 시점은 구성요소가 화면에 보이지 않을 때 실행할 필요 없는 기능을 모두 정지할 수 있음

( ex : 필요하지 않은 리소스 해제/조정 - 애니메이션 일시정지, 비교적 CPU를 많이 소모하는 작업 종료 등 )

 

onDestroy() : Activity를 "소멸됨" 상태로 전이시키기 위한 함수

( ex : 사용자가 Activity를 완전히 닫거나 Activity에서 finish()가 호출되어 Activity가 종료되는 경우,

       기기 회전, 멀티 윈도우 모드 등의 구성 변경으로 인한 시스템의 일시적 Activity 소멸일 경우 )

 

https://developer.android.com/guide/components/activities/activity-lifecycle?hl=ko#java

 

Activity 수명 주기에 대한 이해  |  Android Developers

An Activity is an application component that provides a screen with which users can interact in order to do something, such as dial the phone, take a photo, send an email, or view a map. Each activity is given a window in which to draw its user interface…

developer.android.com

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함