액티비티 (Activity)
액티비티(Activity)는 어플리케이션의 Visual한 구성요소와 Interactive한 구성요소를 위한 기반 클래스로서,
전통적인 데스크톱 개발에서의 폼(Form)과 비슷하다고 할 수 있다. 다시말하면, 안드로이드 어플리케이션의
기본 단위로, 사용자 인터페이스를 화면에 표시하고 사용자의 입력을 받아서 처리하는 역할을 한다.
사용자 인터페이스를 나타내려면 뷰나 레이아웃을 액티비티에 지정한다. 보통의 어플리케이션은 여러 다른
화면을 가지고 있고, 각각의 화면은 다른 액티비티로 구현되어 있다. 그러므로 화면의 전환이 이루어지게 되면
새로운 액티비티가 실행되어 처리하게 된다. 어떤 경우는 액티비티 간에 데이터를 서로 주고 받을 수도 있다.
새로운 화면이 생성되며 기존의 화면은 스택에 놓여진다. 각각의 액티비티는 스택을 통해 관리되며 현재
액티비티를 종료하면 그 이전 화면의 액티비티로 돌아가게 된다.
[ Activity Life Cycle ]


| onCreate() | 전체 수명 시작시 호출된다. Activity가 처음 생성될 때 처음으로 호출된다. 여기에서 주로 Activety와 리소스를 초기화시킨다. onCreate() 메서드에서 실행할 때 findViewById() 메서드와 setContentView () 메서드를 호출하는 일이 가장 중요하다. findViewById() 메서드의 파라미터는 UI를 정의한 레이아웃 리소스를 통해 그려야 할 위젯을 검색하며, 검색된 위젯은 setContentView() 메서드의 파라미터로 전달되어 화면에 표시된다. |
| onRestoreInstanceState() | onCreate()가 종료된 후 호출되며, UI 상태 복구에 사용된다. onSaveInstanceState()로부터 저장된 UI 상태를 복구한다. |
| onStart() | 가시 수명 시작시 호출된다. Activity가 사용자에게 보여줄 준비가 되었을 때 호츨된다. |
| onResume() | 활성 수명 시작시 호출된다. Activity 스택의 맨 위에 있어서 Activity가 사용자에게 보여지고 사용자의 입력을 처리할 수 있을 때 호출된다. |
| onSaveInstanceState() | onSaveInstanceState()는 항상 onPause() 바로 직전에 호출된다. 활성 수명 상태에서 UI 상태 변화를 저장하기 위해 호출된다. |
| onRestart() | 가시 수명으로 이어지기 전에, Activity 처리를 위해 호출된다. onRestart()는 항상 onStart() 호출 직전에 호출된다. |
| onPause() | 활성 수명 끝에서 호출된다. 포커스를 잃고 이전의 Activity가 Resume되기 전에 호출된다. onPause()에서는 데이터의 저장, 애니메이션의 중지, CPU를 소비하는 작업 중단과 같은 일들을 수행한다. 사용자가 Activity를 떠날 때 다루어야 할 메서드이다. 어플리케이션의 실행 도중에 전화가 걸려오면 그때까지의 내용을 모두 저장해야 하는데, onPause()에서 이러한 저장 과정이 진행된다. |
| onStop() | 가시 수명 끝에서 호출된다. 더 이상 Activity가 스택의 최상위에 있지 않으므로 Activity가 사용자에게 보여지지 않는다. |
| onDestroy() | 전체 수명 끝에서 호출된다. onDestory() 메서스가 호출되면 시스템에서 Activity가 존재하지 않는다. |
◈ onPause()와 onStop()
onStop() 상태는 현재 액티비티가 새로운 액티비티에 의해 완전히 가려진 상태이다.
onPause() 상태는 새로운 액티비티(배경이 투명한 액티비티나 화면 전체를 가리지 않는 액티비티)에 의해
현재 액티비티의 일부가 가려진 경우에 해당된다. 다이얼로그의 경우는 액티비티의 일부를 가리지만,
다이얼로그가 액티비티의 일부이기 때문에 onResume() 상태를 유지한다.
'Activity' 카테고리의 다른 글
| [예제] Activity Life Cycle (0) | 2022.10.02 |
|---|
댓글