유저가 앱에서 탐색, 나가기, 다시 앱으로 돌아가기를 하면 앱의 Activity instances는 lifecycle안에서 다른 state를 가진다.
Activity 클래스는 state가 바뀌면 알수있도록 다양한 callback들을 제공한다.
<aside> 🌱 State : 시스템이 creating, stopping, resuming an activity, 거주하는 액티비티를 destroying the process 하는지
</aside>
이 callback 메소드를 사용해서 state가 변할 때 활동을 정의할 수 있다.
액티비티 클래스에서는 6개의 콜백을 제공한다.
onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy().
액티비티가 새로운 state에 들어갈 때 각 콜백들을 호출한다.

유저가 액티비티를 벗어나기 시작하면 벌어지는 일
<aside> 🐸 시스탬이 액티비티를 해체(dismantle)할 메소드를 부른다.
(이 해체는 부분적이다. 액티비티는 아직 메모리에 있다 - 다른 앱으로 전환할 경우)
그리고 다시 전면(foreground)로 돌아 올 수 있다.
만약 유저가 돌아온다면 액티비티는 유저가 떠난 시점에서 부터 다시 재개한다.
</aside>
몇가지 예외를 제외하고는 앱은 백그라운드에서 실행될 때 액티비티를 실행할 수 없다.