developer.android.com/guide/components/activities/activity-lifecycle
안드로이드 액티비티 생명주기(라이프 사이클)이다.
동작별로 나누어 보면 하기와 같다.
액티비티 실행시 순차적 실행
Oncreate() - 액티비티 시작할때
OnStart() - 액티비티 화면 보이기 직전
OnResume() - 액티비티 화면 보일때
액티비티 실행중에 상황에 따라
OnPause() - 액티비티 화면의 포커스가 없어질때 (다이얼로그 띄워졌거나, 액티비티 전환시)
OnStop() - 액티비티가 화면이 완전히 보이지 않을때
OnDestroy() - 액티비티가 종료되기 직전.
# 전화가 오거나, 홈키에 따라 앱이 화면에서 완전히 사라졌다가
액션에 따라 다시 화면이 그려지는 경우
OnPause() -> OnStop()
OnRestart() -> OnStart() -> OnResume()
함수가 호출된다. OnRestart()는 재 호출시에만 불려지기에 상황에 맞게 OnStop() 과 OnRestart() 혹은 OnResume()에
개발자가 원하는 동작을 구현해야 한다.
# 정상적으로 액티비티가 종료되기 직전에는 OnDestroy() 함수가 불려지나,
메모리가 부족하거나 오랫동안 사용하지 않는 앱은 시스템이 강제로 종료를 시키며 OnDestroy()를
호출하지 않습니다.
그렇기에 꼭 필요한 종료 기능이 있다면 OnDestroy() 전 OnStop()에 관련된 처리를 해주는 것이 좋습니다.
# 그리고 화면이 전환될때 사용이 되는 OnPause() 와 OnResume() 함수에는
많은 부하가 걸리는 작업은 피해주는 것이 좋습니다.
여기서 많은 작업을 하다보면 화면 전환이 늦어지기 때문입니다.
감사합니다 :)
'앱 만들기 > 안드로이드 study' 카테고리의 다른 글
리스트뷰 클릭 이벤트 구현하기 (1) | 2021.04.16 |
---|---|
안드로이드 리스트 뷰 구현하기 (2) | 2021.04.15 |
레이아웃 편집기 마법봉 사용법 (4) | 2021.04.05 |
Logcat 디버그 트레이스 확인하는 방법 (1) | 2021.04.04 |
안드로이드 스튜디오 오토 임포트(Auto import) 설정하기. (2) | 2021.04.02 |
댓글