Android 라이프사이클 정보

Andorid 개발을 하고 있다고 자주 듣는 라이프 사이클입니다만, 어떤 것인지 모르면, 어떤 메소드에 어떤 구현을 하지 않으면 안되는지 모르거나, 혹은 실수한다는 것이 일어나므로, 정리하고 싶습니다.



위의 이미지는 라이프 사이클의 다이어그램입니다.

Activity는 사용자가 할 수 있는 화면을 제공합니다.
View의 표시나 버튼을 클릭했을 때의 액션 등을 기재합니다.

Activity는 만들어져 파기될 때까지 상태가 변화해, 이 변화가 라이프 사이클입니다.
이미지에 기재되어 있는 onCreate()나 onStart()등은 콜백 메소드라고 불리고 있어, 우리가 구현하는 코드에서는 override 해 사용됩니다.
실제로 소스 코드를 살펴보면 onCreate()와 onStart()가 존재한다고 생각합니다.

onCreate



화면이 표시될 때 수행되는 처리입니다.
화면 초기화가 수행됩니다.
어느 화면을 표시할지의 설정 등을 실시합니다.

onCreate 처리가 완료되면 onStart()가 호출됩니다.

소스 코드에서는 아래와 같은 처리를 실시합니다.
setContentView(R.layout.activity_task_edit)

onStart



Activity가 시작될 때 호출됩니다.
이 시점에서는 Activity 생성되었지만 사용자에게는 보이지 않는 상태입니다.

onStart()에서는 데이터 읽기 시작 등을 설명합니다. 데이터의 읽을 필요가 없는 경우는 특히 구현은 하지 않을까 생각합니다.

온리스



Activity가 전면에 와서 사용자와의 상호작용을 시작할 수 있게 되기 직전에 호출됩니다.
화면을 사용할 수 있습니다.

음파 손실



다른 앱이 전면에 와서 Activity가 백그라운드에 숨길 때 호출됩니다.
데이터 변경을 커밋하거나 CPU를 소비할 수 있는 다른 동작을 중지하는 데 사용됩니다.

Activity가 앞으로 돌아오면 onResume() 가 뒤에, Activity 가 숨겨지면 onStop() 이 뒤에옵니다.

onStop



화면이 사용자에게 보이지 않을 때 호출됩니다.
홈 화면으로 돌아가거나 화면 전환 또는 앱이 보이지 않을 때 호출됩니다.

onDestroy



Activity가 삭제되기 직전에 호출됩니다.
DB 연결을 종료하거나 여기에서 수행합니다.

onRestart



Activity가 onStop() 후에 부활할 때 호출됩니다.
예를 들어 기기가 잠자기 상태가 되고 다시 시작하거나 기기의 홈 버튼을 눌러 실행 중인 앱을 다시 시작할 때 사용됩니다.

이번은 대략적인 개요가 되어 버렸습니다만, 또 신경이 쓰인 적이 있으면, 사고의 정리가 굳이 기재하고 싶습니다.

참조



Android Developers - htps : //에서 ゔぇぺぺr. 안 d로이 d. 코 m / 구이데 / 코 m 포넨 ts / 아 c 치 ぃ 치에 s? hl = 그럼

(라이프 사이클 다이어그램은 위 사이트에 있습니다)

좋은 웹페이지 즐겨찾기