π Activity Lifecycle
1. Mean
Activity
μ μμ±λΆν° μλ©ΈκΉμ§μ κ³Όμ
2. Why you need to know the life cycle?
μ‘ν°λΉν°μ μλͺ
μ£ΌκΈ°λ₯Ό μ΄ν΄νλ©΄ μλλ‘μ΄λ μ±μ λ ν¨κ³Όμ μΌλ‘ κ°λ°νκ³ μ¬μ©μμκ² λμ μμ€μ μ¬μ©μ κ²½νμ μ 곡ν μ μμ
1) μ¬μ©μ κ²½ν κ°μ
- μ¬μ©μκ° μ±μ μ΄λ»κ² μ¬μ©νλμ§ μ΄ν΄ν μ μμ
- ex. μ‘ν°λΉν°κ° ν¬κ·ΈλΌμ΄λμ μμ λ μ¬μ©μμκ² λ³΄μ¬μ§λ λ΄μ©μ μ
λ°μ΄νΈνκ±°λ, μ‘ν°λΉν°κ° λ°±κ·ΈλΌμ΄λλ‘ μ΄λν λ μ€μν λ°μ΄ν°λ₯Ό μ μ₯νλ λ±μ μμ
μ ν μ μμ
- μ΄λ‘ μΈν΄ μ¬μ©μ κ²½νμ΄ ν₯μλκ³ μ±μ λ°μμ±μ΄ ν₯μλ¨
2) 리μμ€ κ΄λ¦¬
- λ©λͺ¨λ¦¬ κ΄λ¦¬μ κ°μ 리μμ€ κ΄λ¦¬λ₯Ό λμ± ν¨μ¨μ μΌλ‘ ν μ μμ
- μ‘ν°λΉν°κ° λ°±κ·ΈλΌμ΄λλ‘ μ΄λν λ μ¬μ©νμ§ μλ 리μμ€λ₯Ό ν΄μ νκ³ , ν¬κ·ΈλΌμ΄λλ‘ λ€μ΄μ¬ λ λ€μ μ΄κΈ°ννλ λ±μ μμ
μ μννμ¬ μ±μ μ±λ₯μ μ΅μ νν μ μμ
3) λ°μ΄ν° 보쑴
- μ¬μ©μκ° μ± λ΄μμ μ΄λν λ λ°μ΄ν°λ₯Ό 보쑴νλ λ°©λ²μ μ μ μμ
- ex. μ‘ν°λΉν°κ° μΌμμ μΌλ‘ μ€λ¨λκ±°λ μλ©ΈλλλΌλ μ€μν λ°μ΄ν°λ₯Ό μ μ₯νμ¬ μ¬μ©μκ° μ΄μ μνλ‘ λμκ° μ μκ² ν μ μμ
4) μ± μν κ΄λ¦¬
- μ±μ΄ ν¬κ·ΈλΌμ΄λμ λ°±κ·ΈλΌμ΄λλ‘ μ΄λν λ μ±μ μνλ₯Ό κ΄λ¦¬νλ κ²μ΄ μ€μν¨
- μ±μ΄ μ΄λ€ μνμ μλμ§ νμ
νκ³ , νμμ λ°λΌ μ μ ν μ‘°μΉλ₯Ό μ·¨ν μ μμ
5) λ¬Έμ ν΄κ²°
- λ°μνλ λ¬Έμ λ₯Ό λ μ½κ² ν΄κ²°ν μ μμ
- μ‘ν°λΉν°μ μλͺ
μ£ΌκΈ°λ₯Ό μ΄ν΄νμ§ μκ³ μ±μ κ°λ°νλ©΄ μ±μ΄ μμμΉ λͺ»ν λμμ ν μ μμ
3. Stages of the Activity Lifecycle
1) onCreate()
- μ‘ν°λΉν°κ° μ²μ μμ±λ λ νΈμΆ
- μ΄ λ¨κ³μμλ μ‘ν°λΉν°μ μ΄κΈ°ν μμ
μ΄ μ΄λ£¨μ΄μ§λ©°, λ μ΄μμμ μ€μ νκ³ λ¦¬μμ€λ₯Ό μ΄κΈ°ννλ λ±μ μμ
μ μνν¨
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// μ‘ν°λΉν° μ΄κΈ°ν μμ
λ± μν
}
2) onStart()
- μ‘ν°λΉν°κ° μ¬μ©μμκ² λ³΄μ¬μ§κΈ° μμν λ νΈμΆλ¨
- μ±μ νλ©΄μ νμνμ§λ§ μ¬μ©μλ μμ§ μνΈμμ©ν μ μμ
override fun onStart() {
super.onStart()
// μ‘ν°λΉν°κ° ν¬κ·ΈλΌμ΄λμ λ€μ΄μμ λ μνν μμ
ꡬν
}
3) onResume()
- μ‘ν°λΉν°κ° ν¬κ·ΈλΌμ΄λμ λ€μ΄μ μ¬μ©μμ μνΈμμ©μ΄ κ°λ₯ν μνκ° λμμ λ νΈμΆλ¨
- μ±μ μ κ²½μΌλ‘ κ°μ Έμ€κ³ μ¬μ©μλ μνΈμμ©ν μ μμ
override fun onResume() {
super.onResume()
// μ‘ν°λΉν°κ° μ¬μ©μμ μνΈμμ©ν μ μλ μνμΌ λ μνν μμ
ꡬν
}
4) onPause()
- λ€λ₯Έ μ‘ν°λΉν°κ° ν¬κ·ΈλΌμ΄λμ λνλκ±°λ ν λ²νΌ λ±μΌλ‘ μΈν΄ μ‘ν°λΉν°κ° λ°±κ·ΈλΌμ΄λλ‘ κ°λ €μ§ λ νΈμΆλ¨
- μ‘ν°λΉν°κ° μΌμμ μΌλ‘ λ μ΄μ μ¬μ©μμ μνΈμμ©ν μ μλ μνκ° λ¨
- μ΄ λ¨κ³μμλ μ€μν 리μμ€ ν΄μ λ μ μ₯ μμ
λ±μ μ²λ¦¬ν΄μΌ ν¨
override fun onPause() {
super.onPause()
// μ‘ν°λΉν°κ° μΌμμ μΌλ‘ λ μ΄μ μ¬μ©μμ μνΈμμ©ν μ μλ μνμΌ λ μνν μμ
ꡬν
}
5) onStop()
- μ‘ν°λΉν°κ° λ μ΄μ νλ©΄μ 보μ΄μ§ μμ λ νΈμΆλ¨
- λ€λ₯Έ μ‘ν°λΉν°κ° νλ©΄μ μμ ν κ°λ¦¬κ±°λ μ±μ΄ λ°±κ·ΈλΌμ΄λλ‘ λ€μ΄κ° λ νΈμΆλ¨
override fun onStop() {
super.onStop()
// μ‘ν°λΉν°κ° νλ©΄μμ μμ ν μ¬λΌμ§ λ μνν μμ
ꡬν
}
6) onRestart()
onStop()
νμ μ‘ν°λΉν°κ° λ€μ ν¬κ·ΈλΌμ΄λλ‘ λμμ¬ λ νΈμΆλ¨
- μ΄ν
onStart()
λ©μλκ° νΈμΆλ¨
override fun onRestart() {
super.onRestart()
// μ‘ν°λΉν°κ° λ€μ ν¬κ·ΈλΌμ΄λλ‘ λμμμ λ μνν μμ
ꡬν
}
7) onDestroy()
- μ‘ν°λΉν°κ° μλ©ΈλκΈ° μ μ νΈμΆλ¨
- μ‘ν°λΉν°κ° μ’
λ£λκ±°λ μ±μ΄ μμ ν μ’
λ£λ λ νΈμΆλλ©°, 리μμ€ ν΄μ λ λ°μ΄ν° μ μ₯ λ± λ§λ¬΄λ¦¬ μμ
μ μνν΄μΌ ν¨
override fun onDestroy() {
super.onDestroy()
// μ‘ν°λΉν°κ° μλ©ΈλκΈ° μ μ νμν μ 리 μμ
ꡬν
}
[μ°Έκ³ μ¬μ΄νΈ]
'Stages of the Activity lifecycle', developer
μ μ½μμ΅λλ€. μ’μ μ 보 κ°μ¬λ립λλ€.