안드로이드 어플리케이션은 처음실행될때 메모리 상에 만들어지는 과정부터 시작해 실행과 중지 그리고 메모리 상에서
해제되는 여러과정을 상태정보로 가지고 있습니다.
이런 상태정보는 시스템에서 관리하면서 각각의 상태에 해당하는 메소드를 자동으로 하출하게 됩니다.
예를 들어 onCreate() 메소드는 액티비티가 만들어질 때 시스템에서 자동으로 호출하는 메소드 입니다.
| onCreate() |
액티비티가 처음에 만들어졌을 때 호출됨
화면에 보이는 뷰들의 일반적인 상태를 설정하는 부분.
이전상태가 저장되어 있는 경우에는 번들 객체를 참조하여 이전 상태 복원가능
이 메소드 다음에는 항상 onStart() 메소드가 호출된 |
| onStart() |
액티비티가 화면에 보이기 바로 전에 호출됨
액티비티가 화면 상에 보이면 이 메소드 다음에 onResume() 메소드가 호출됨
액티비티가 화면에서 가려지게 되면 이 메소드 다음에 onStop 메소드가 호출됨 |
| onResume() |
액티비티가 사용자와 상호작용하기 바로 전에 호출됨 |
| onRestart() |
액티비티가 중지된 이후에 호출되는 메소드로 다시 시작되기 바로전에 호출됨
이 메소드 다음에는 항상 onStart 메소드가 호출됨 |
| onPause() |
또 다른 액티비티를 시작하여고 할 때 호출됨
저장되지 않은 데이터를 저장소에 저장하거나 애니메이션 중인 작업을 중지하는 등의 기능을 수행하는 메소드
이 메소드가 리턴하기 전에는 다음 액티비티가 시작될 수 없으므로 이 작업은 매우 빨리 수행된 후 리턴되어야 함
액티비티가 이 상태에 들어가면 시스템은 액티비티를 장제 종료할 수 있음. |
| onStop() |
액티비티가 사용자에게 더 이상 보이지 않을 때 호출됨
액티비티가 소멸되거나 또 다른 액티비티가 화면을 가릴 때 호출됨
액티비티가 이 상태에 들어가면 시스템은 액티비티를 강제 종료할 수 있음 |
| onDestory() |
액티비티가 소멸되어 없어지기 전에 호출됨
이 메소드는 액티비티가 받는 마지막 호출이 됨
액티비티가 애플리케이션에 의해 종료되거나(finish()) 시스템이 강제로 종료되시키는 경우에 호출될 수 있음.
위의 두가지 경우를 구분할 때 isFinishing() 메소드를 이용함
액티비티가 이 상태에 들어가면 시스템은 액티비티를 강제 종료할 수 있음. |