액티비티의 대표적인 상태정보
실행(Running)
-화면상에 액티비티가 보이면서 실행되어 있는 상태
-액티비티 스택의 최상위에 있으며 포커스를 가지고 있음
일시 중지(Paused)
-사용자에게 보이기는 하지만 다른 액티비티가 위에 있어 포커스를 받지 못하는 상태.
-대화상자가 위에 있어 일부가 가려져 있는 경우에 해당
중지(Stopped)
-다른 액티비티에 의해 완전히 가려져 보이지 않는 상태
이렇게 액티비티의 상태정보가 변화하는것을
액티비티의 수명주기(Life Cycle)라고 하며
액티비티가 처음 만들어진 후 없어질때까지
상태가 변화하면서 각각에 해당하는 메소드가 자동으로 호출됨
onCreate()
-액티비티가 처음에 만들어졌을때 호출됨
-화면에 보이는 뷰들의 일반적인 상태를 설정하는 부분
-이전 상태가 저장되어있는 경우에는 번들객체를 참조하여 이전상태 복원가능
-이 메소드 다음에는 항상 onStart()가 호출됨
onStart()
-액티비티가 화면에 보이기 바로전에 호출됨
-액티비티가 화면상에 보이면 이 메소드 다음에 onResume()가 호출됨
-액티비티가 화면에서 가려지게되면 이 메소드 다음에 onStop()가 호출됨
onResume()
-액티비티가 사용자와 상호작용하기 바로전에 호출됨
onRestart()
-액티비티가 중지된 이후에 호출되는 메소드로 다시시작되기 바로전에 호출됨
-이 메소드 다음에는 항상 onStart()가 호출됨
onPause()
-또다른 액티비티를 시작하려고할때 호출됨
-저장되지않은 데이터를 저장소에 저장하거나 애니메이션중인 작업을 중지하는등의 기능을 수행하는 메소드임
-이 메소드가 리턴하기전에는 다음 액티비티가 시작될 수 없으므로
이 작업은 매우빨리 수행된 후 리턴되어야함
-액티비티가 이 상태에 들어가면 시스템은 액티비티를 강제종료 할 수 있음
onStop()
-액티비티가 사용자에게 더이상 보이지 않을때 호출됨
-액티비티가 소멸되거나 또다른 액티비티가 화면을 가릴때 호출됨
-액티비티가 이 상태에 들어가면 시스템은 액티비티를 강제종료 할 수 있음
onDestroy()
-액티비티가 소멸되어 없어지기전에 호출됨
-이 메소드는 액티비티가 받는 마지막 호출이 됨
-액티비티가 애플리케이션에 의해 종료되거나(finish()메소드 호출)
시스템이 강제로 종료시키는 경우에 호출될 수 있음
-위의 두가지 경우를 구분할때 isFinishing()메소드를 이용함
-액티비티가 이 상태에 들어가면 시스템은 액티비티를 강제종료 할 수 없음
'Dev_Study > Android' 카테고리의 다른 글
8. 브로드캐스트 수신자(BroadcastReceiver) (0) | 2018.01.26 |
---|---|
7. 서비스 (0) | 2018.01.26 |
5. 액티비티 간에 데이터 전달하기 (0) | 2018.01.26 |
4. 플래그(Flag) (0) | 2018.01.26 |
3. 암시적 인텐트(Implicit Intent) (0) | 2018.01.26 |