티스토리 뷰


액티비티의 일생 



생명주기(Life Cycle)
액티비티는 시작, 실행, 활성, 비활성화, 정지, 종료되는 일련의 상태를 순환하는데 이것을 생명 주기라고 한다. 사용자의 선택이나 시스템 자원 사정에 따라 액티비티의 상태는 끊임없이 바뀐다. 

액티비티 스택
시스템이 태스크의 실행중인 액티비티를 관리한다. 
스택의 액티비티는 넣고 빼기만 할 뿐 순서가 바뀌지 않는다. 

액티비티 스택의 세 가지 상태
  • 실행(active, running)
  • 일시 정지(pause)
  • 정지(stopped)


State diagram for an Android activity lifecycle.

생명주기 메서드
메서드 해야 할 일
onCreate 액티비티 초기화
반드시 구현 
onRestart 재시작될 때 호출, 특별히 할 일은 없다
onStart 액티비티가 사용자에게 보이기 직전에 호출된다.
onResume 사용자와 상호작용하기 직전에 호출
이 단계에서 스택의 제일 위로 올라간다
onPause 다른 액티비티가 실행될 때 호출
미저장한 데이터 저장, 애니메이션 중지 등 필요(영구정보 저장)
이 메서드가 리턴되야 새 액티비티가 활성화되므로 시간을 너무 많이 끌어서는 안된다
onStop 액티비티가 사용자에게 보이지 않게 될 때 호출
onDestroy 액티비티가 파괴될 때 호출
isFinishing 메서드로 시스템 강제 종료인지 finish 메서드 호출에 의한 종료인지 판단가능

댓글