- 액티비티의 수명주기(Life Cycle) : 액티비티의 상태 정보가 변하는 것
*액티비티의 대표적인 상태 정보
상태 |
설명 |
실행(Running) |
화면 상에 액티비티가 보이면서 실행되어 있는 상태. 액티비티 스택의 최상위에 있으며 포커스를 가지고 있음. |
일시 중지(Paused) |
사용자에게 보이기는 하지만 다른 액티비티가 위에 있어 포커스를 받지 못하는 상태. 대화상자가 위에 있어 일부가 가려져 있는 경우에 해당함. |
중지(Stopped) |
다른 액티비티에 의해 완전히 가려져 보이지 않는 상태. |
*액티비티의 상태 메소드
상태 메소드 |
설명 |
onCreate() |
액티비티가 처음에 만들어졌을 때 호출됨 화면에 보이는 뷰들의 일반적인 상태를 설정하는 부분 이전 상태가 저장되어 있는 경우에는 번들 객체를 참조하여 이전 상태 복원 가능 이 메소드 다음에는 항상 onStart() 메소드가 호출됨 |
onStart() |
액티비티가 화면에 보이기 바로 전에 호출됨 액티비티가 화면 상에 보이면 이 메소드 다음에 onResume() 메소드가 호출됨 액티비티가 화면에 가려지게 되면 이 메소드 다음에 onStop() 메소드가 호출됨 |
onResume() |
액티비티가 사용자와 상호작용하기 바로 전에 호출됨 |
onRestart() |
액티비티가 중지된 이후에 호출되는 메소드로 다시 시작되기 바로 전에 호출됨 이 메소드 다음에는 항상 onStart() 메소드가 호출됨 |
onPause() |
또 다른 액티비티를 시작하려고 할 때 호출됨 저장되지 않은 데이터를 저장소에 저장하거나 애니메이션 중인 작업을 중지하는 등의 기능을 수행하는 메소드임 이 메소드가 리턴하기 전에는 다음 액티비티가 시작될 수 없으므로 이 작업은 매우 빨리 수행된 후 리턴되어야 함 액티비티가 이 상태에 들어가면 시스템은 액티비티를 강제 종료할 수 있음 |
onStop() |
액티비티가 사용자에게 더 이상 보이지 않을 때 호출됨 액티비티가 소멸되거나 또 다른 액티비티가 화면을 가릴 때 호출됨 액티비티가 이 상태에 들어가면 시스템은 액티비티를 강제 종료할 수 있음 |
onDestroy() |
액티비티가 소멸되어 없어지기 전에 호출됨 이 메소드는 액티비티가 받는 마지막 호출이 됨 액티비티가 애플리케이션에 의해 종료되거나(finish() 메소드 호출) 시스템이 강제로 종료시키는 경우에 호출될 수 있음 위의 두 가지 경우를 구분할 때 isFinishing() 메소드를 이용함 액티비티가 이 상태에 들어가면 시스템은 액티비티를 강제 종료할 수 있음 |
출처 : Do It! 안드로이드 앱 프로그래밍 (정재곤 지음, 이지스퍼블리싱)
'Programming > Android' 카테고리의 다른 글
색 (Color) (0) | 2017.05.03 |
---|---|
멀티 터치 (Multi Touch) (0) | 2017.03.13 |
매니페스트 (Manifest) (0) | 2017.01.25 |
위험 권한의 세부 정보 (0) | 2017.01.25 |
레이아웃 인플레이션 (0) | 2017.01.18 |
기본 위젯들 (0) | 2017.01.17 |
프레임 레이아웃과 뷰의 전환 (0) | 2017.01.17 |
스크롤뷰 (0) | 2017.01.17 |