별의 공부 블로그 🧑🏻‍💻

수명주기

Programming/Android 2017. 1. 24. 19:14
728x90
728x170

- 액티비티의 수명주기(Life Cycle) : 액티비티의 상태 정보가 변하는 것

 

*액티비티의 대표적인 상태 정보

 상태 

 설명 

 실행(Running)

 화면 상에 액티비티가 보이면서 실행되어 있는 상태. 액티비티 스택의 최상위에 있으며 포커스를 가지고 있음.

 일시 중지(Paused)

 사용자에게 보이기는 하지만 다른 액티비티가 위에 있어 포커스를 받지 못하는 상태. 대화상자가 위에 있어 일부가 가려져 있는 경우에 해당함.

 중지(Stopped)

 다른 액티비티에 의해 완전히 가려져 보이지 않는 상태.

 

*액티비티의 상태 메소드

 상태 메소드

 설명

 onCreate()

액티비티가 처음에 만들어졌을 때 호출됨

화면에 보이는 뷰들의 일반적인 상태를 설정하는 부분

이전 상태가 저장되어 있는 경우에는 번들 객체를 참조하여 이전 상태 복원 가능

이 메소드 다음에는 항상 onStart() 메소드가 호출됨

 onStart()

액티비티가 화면에 보이기 바로 전에 호출됨

액티비티가 화면 상에 보이면 이 메소드 다음에 onResume() 메소드가 호출됨

액티비티가 화면에 가려지게 되면 이 메소드 다음에 onStop() 메소드가 호출됨

 onResume()

액티비티가 사용자와 상호작용하기 바로 전에 호출됨

 onRestart()

액티비티가 중지된 이후에 호출되는 메소드로 다시 시작되기 바로 전에 호출됨

이 메소드 다음에는 항상 onStart() 메소드가 호출됨

 onPause()

또 다른 액티비티를 시작하려고 할 때 호출됨

저장되지 않은 데이터를 저장소에 저장하거나 애니메이션 중인 작업을 중지하는 등의 기능을 수행하는 메소드임

이 메소드가 리턴하기 전에는 다음 액티비티가 시작될 수 없으므로 이 작업은 매우 빨리 수행된 후 리턴되어야 함

액티비티가 이 상태에 들어가면 시스템은 액티비티를 강제 종료할 수 있음

 onStop()

액티비티가 사용자에게 더 이상 보이지 않을 때 호출됨

액티비티가 소멸되거나 또 다른 액티비티가 화면을 가릴 때 호출됨

액티비티가 이 상태에 들어가면 시스템은 액티비티를 강제 종료할 수 있음

 onDestroy()

액티비티가 소멸되어 없어지기 전에 호출됨

이 메소드는 액티비티가 받는 마지막 호출이 됨

액티비티가 애플리케이션에 의해 종료되거나(finish() 메소드 호출) 시스템이 강제로 종료시키는 경우에 호출될 수 있음

위의 두 가지 경우를 구분할 때 isFinishing() 메소드를 이용함

액티비티가 이 상태에 들어가면 시스템은 액티비티를 강제 종료할 수 있음

 

출처 : Do It! 안드로이드 앱 프로그래밍 (정재곤 지음, 이지스퍼블리싱)

728x90
그리드형(광고전용)

'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
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖