티스토리 뷰
액티비티 상태의 종류
1) 실행 Running: 화면 상에 액티비티가 보이면서 실행되어 있는 상태.
액티비티 스택의 최상위에 있으며 포커스를 가지고 있다.
=> 포커스를 가지면 하드웨어 key를 가질 수 있다.
2) 일시중지paused: 사용자에게 보이기는 하지만
다른 액티비티가 위에 있는( 포커스를 받지 못하는) 상태.
대화상자가 위에 있어 일부가 가려져 있는 경우에 해당함
3)중지stop: 다른 액티비티에 의해 완전히 가려져 보이지 않는 상태
Activity LifeCycle Callback 메소드
onCreate(): 액티비티가 생성될 때 호출되며 사용자 인터페이스 초기화에 사용됨.
onStart() : 액티비티가 사용자에게 보여지기 바로 전에 호출됨
onResume(): 액티비티가 사용자와 상호작용하기 바로 전에 호출됨.
이 시점에 액티비티는 스택의 가장 상위에 존재하고 있고 해당 함수 뒤에는 onPause()함수가 뒤따라 호출된다.
onPause(): 다른 액티비티로 전환되기 직전에 호출되는 메서드. 데이터 저장, 스레드 중지 등의 처리를 하기에 적당한 메소드.
데이터를 저장하고나 시스템 자원을 소모하는 작업을 중단할 때 사용된다.
예를들어 동영상을 재생하고 있었다가 다른 액티비티로 전환되는 경우 해당 함수에서 동영상을 멈추도록 구현이 들어갈 수 있다. 해당 함수가 끝나기 전까지 액티빝 전환이 이루어지지 않기 때문에 해당 함수는 빠르게 작업이 이루어져야 한다.
onStop(): 액티비티가 더 이상 사용자에게 보여지지 않을 때 호출됨. 메모리가 부족할 경우에는 onStop()메소드가 호출되지 않을 수도 있음.
onRestart() : 액티비티가 멈췄다가 다시 시작되기 바로 전에 호출됨
onDestory(): 액티비티가 소멸될 때 호출됨. finish()메소드가 호출되거나 시스템이 메모리 확보를 위해 액티비티를 파기할 때 호출됨.
'Android' 카테고리의 다른 글
Context (0) | 2021.09.02 |
---|---|
Task (0) | 2021.09.02 |
Activity 간의 데이터 교환 (0) | 2021.09.02 |
Activity 메서드 (0) | 2021.09.02 |
안드로이드 4대 구성요소 (0) | 2021.09.02 |