[안드로이드 프로그래밍] Activity 생명주기

PUJIN·2023년 7월 1일
0

android programming

목록 보기
11/26
post-thumbnail

안드로이드 4대 구성 요소


  • activity : 현재 보이는 화면을 관리하는 실행 단위
    • 독립적인 실행 단위
    • activity & 다른 activity : 관계 X, 연동 X
  • service : 화면이 없는 실행 단위 (백그라운드 프로세싱)
  • broadcast receiver : OS가 메시지를 받으면 실행되는 실행 단위
    • 수신 대기 상태
    • system의 사건 발생시 코드 인식 후 처리
  • content provider : 저장된 데이터를 제공하기 위해 실행되는 실행 단위
    • 데이터 공유

* 같은 어플리케이션 내 activity : 서로의 실행이 자유롭다.
* 다른 어플리케이션 내 activity : 서로의 실행이 자유롭지 못하다. → 권한 설정시 실행 가능



activity 생명주기


  • onCreate : 처음 실행시 or 화면 회전 발생시에 대한 처리
    • activity 처음 실행시 자동 호출
    • activity가 관리할 View를 생성하고 View들에 대한 초기작업 수행
override fun onCreate(savedInstanceState: Bundle?) {
	super.onCreate(savedInstanceState)
	setContentView(R.layout.activity_main)

	Log.d("test", "onCreate")
}
  • onStart
    • activity가 처음 생성되는 경우 : onCreate 다음으로 호출
    • activity가 보이지 않는 상태에서 다시 보이는 경우 : onRestart 다음으로 호출
override fun onStart() {
	super.onStart()
	Log.d("test", "onStart")
}
  • onResume : 일시 정지 되고 난 후 다시 돌아올 때의 처리
    • activity가 다시 나타날 때 동작할 코드 작성
    • activity가 처음 생성되는 경우 : onStart 다음으로 호출
    • 다른 activity가 나타나고 다시 해당 activity가 보이는 경우 : onPause 다음으로 호출
    • activity가 보이지 않는 상태에서 다시 보이는 경우 : onStart 다음으로 호출
override fun onResume() {
	super.onResume()
	Log.d("test", "onResume")
}
  • onPause : 일시 정지되기 전에 대한 처리
    • activity가 사라질 때 동작할 코드 작성
    • 다른 activity가 보일 때 호출
override fun onPause() {
	super.onPause()
	Log.d("test", "onPause")
}
  • onStop
    • 현재 activity가 완전히 보이지 않는 경우 : onPause 다음으로 호출
override fun onStop() {
	super.onStop()
	Log.d("test", "onStop")
}
  • onRestart
    • activity가 완전히 보이지 않게 된 후 다시 activity가 보이는 경우 : onStop 다음으로 호출
override fun onRestart() {
	super.onRestart()
	Log.d("test", "onRestart")
}
  • onDestroy : Activity가 종료(소멸)되기 전에 필요한 처리
    • 액티비티가 완전 종료되는 경우 : onStop 다음으로 호출
override fun onDestroy() {
	super.onDestroy()
	Log.d("test", "onDestroy")
}

  • Activity 처음 실행한 경우 : onCreate → onStart → onResume
  • 다른 Activity 화면이 보이는 경우 : onPause → Activity 일시 정지
  • 다시 해당 Activity 화면이 보이는 경우 : onResume -> Activity 다시 동작
  • Activity 화면이 완전히 보이지 않는 경우 : onPause → onStop
  • Activity 화면이 완전히 보이지 않았다가 다시 보이는 경우 :
    onRestart → onstart → onResume → Activitiy 다시 동작
  • Activity가 종료된 경우 : onPause -> onStop -> onDestroy

0개의 댓글