안 쓰던 블로그
안드로이드-Activity Life Cycle 본문
액티비티-앱의 한 화면이다
화면 전환->액티비티 전환
엑티비티 Life Cycle이 중요하다!! (https://developer.android.com/guide/components/activities/activity-lifecycle?hl=ko)
1. onCreate
-activity가 만들어질 때 단 한 번만 호출 된다
-activity를 만들때 단 한 번만 하면 되는 작업들을 여기에서 해 준다
-뭔가 충돌이 나서 강제로 다시 시작될 때 호출이 되기도 한데 정말 드문 상황이다
2. onStart
3. onResume☆
-다시 앱으로 돌아올때 무조건 호출된다
-activity가 다시 호출될 때 하면 되는 작업들을 여기에서 해 준다
4. onPause☆
-화면의 일부가 보이지 않을 때(화면을 내리는 중)
5. onStop☆
-화면 전부가 보이지 않을 때(앱 종료나 다른 앱으로 넘어감)
-여기까지 했던 작업을 저장, 다시 돌아오면 onPause로 넘긴다
6. onDestroy
확인하는 방법
액티비티 파일을 하나 만들고 아래처럼 쓴다
package com.example.gurustudy
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.ui_practice)
Log.d("life_cycle","onCreate")
}
override fun onStart() {
super.onStart()
Log.d("life_cycle","onStart")
}
override fun onResume() {
super.onResume()
Log.d("life_cycle","onResume")
}
override fun onPause() {
super.onPause()
Log.d("life_cycle","onPause")
}
override fun onStop() {
super.onStop()
Log.d("life_cycle","onStop")
}
override fun onDestroy() {
super.onDestroy()
Log.d("life_cycle","onDestroy")
}
}
애뮬레이터 실행
로그 필터하면 저렇게 3개 나온다
onPause, Stop, Destroy는 아직 실행 안 되었기 때문이다
에뮬레이터에서 홈화면으로 가면 onStop실행(완전 안 보이기 때문)
근데 onStop가려면 무조건 onPause를 지나야 해서 onPause-onStop 순으로 찍힘
다시 애플리케이션을 띄우면 onStart-onResume 순서대로 찍힌다
onRestart()도 지나지만 로그를 안 찍었기 때문에 안 나오는 것
(참고)
'안드로이드' 카테고리의 다른 글
안드로이드 kotlin - google map에 cardview로 세부정보 띄우기(구글맵 마커에 여러 정보 넣기) (0) | 2020.08.21 |
---|---|
안드로이드 스튜디오 에러 "[xX][mM][lL]"과 일치하는 처리 명령 대상은 허용되지 않습니다. 해결방법 (0) | 2020.08.18 |
안드로이드-안드로이드 스튜디오 기본 파일 (0) | 2020.08.02 |
안드로이드 공부 0731 (유튜브 UI) (0) | 2020.07.31 |
Android Drawable Importer 없음/로딩 안 될 때 해결방법 (0) | 2020.07.31 |