Android/Kotlin
[Kotlin][Android] ์๋๋ก์ด๋ Activity(์กํฐ๋นํฐ)์ ์๋ช ์ฃผ๊ธฐ์ ํจ์
๋์
2022. 10. 14. 10:43
- onCreate()
- ์ต์ด๋ก Activity๋ฅผ ์คํํ๋ฉด, ์ฒ์์ผ๋ก ํธ์ถ๋๋ ํจ์์ ๋๋ค.
- ์ฃผ๋ก ์ด๊ธฐํ ๊ด๋ จ ์์ ์ ํฉ๋๋ค.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Log.d(TAG , "MainActivity - onCreate")
}
- onStart()
- ์ต์ด๋ก Activity๋ฅผ ์คํํ๋ฉด, onCreate() ๋ค์์ผ๋ก ํธ์ถ๋๋ ํจ์์ ๋๋ค.
- onStop() -> onRestart() ๋ค์์ผ๋ก ํธ์ถ๋๋ ํจ์์ด๊ธฐ๋ ํฉ๋๋ค.
- ์ด ์์ ๋ถํฐ๋ ์ฌ์ฉ์๊ฐ ์กํฐ๋นํฐ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
override fun onStart() {
super.onStart()
Log.d(TAG , "MainActivity - onStart")
}
- onResume()
- ์ต์ด๋ก Activity๋ฅผ ์คํํ๋ฉด, onStart() ๋ค์์ผ๋ก ํธ์ถ๋๋ ํจ์์ ๋๋ค.
- onPause() ๋ค์์ผ๋ก ํธ์ถ๋๋ ํจ์์ด๊ธฐ๋ ํฉ๋๋ค.
- ์ด ์์ ๋ถํฐ๋ Activity๊ฐ ํ์ฑํ๋ ์ํ(์คํ ์ค์ธ ์ํ)๋ก ๋ด ๋๋ค.
override fun onResume() {
super.onResume()
Log.d(TAG , "MainActivity - onResume")
}
- onPause()
- ๋ง์ฝ onResume()๊ฐ ํธ์ถ๋ ์ดํ์(Activity๊ฐ ํ์ฑํ๋ ์ดํ์) ๋ค๋ฅธ Activity๊ฐ ์ต์๋จ์์ ๋ณด์ฌ์ง๋(ํฌ์ปค์ค๋ฅผ ์์) ๊ฒฝ์ฐ ํธ์ถ๋๋ ํจ์์ ๋๋ค.
- ๋ง์ฝ onPause()๊ฐ ํธ์ถ๋ ์ดํ์(๋ค๋ฅธ Activity๊ฐ ์ต์๋จ์์ ๋ณด์ธ ์ดํ์) ๋ค์ ๊ธฐ์กด Activity๋ก ๋์์ค๋ ๊ฒฝ์ฐ onResume()๊ฐ ํธ์ถ๋ฉ๋๋ค.
- ๋ง์ฝ ๋ค๋ฅธ ์ฑ์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์๋ก ํ ๊ฒฝ์ฐ ์ฑ ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋ ์ ์์ต๋๋ค.
override fun onPause() {
super.onPause()
Log.d(TAG , "MainActivity - onPause")
}
- onStop()
- ๋ง์ฝ onResume()๊ฐ ํธ์ถ๋ ์ดํ์(Activity๊ฐ ํ์ฑํ ๋ ์ดํ์) ๋ค๋ฅธ Activity๊ฐ ์ต์๋จ์์ ๋ณด์ฌ์ง๋(ํฌ์ปค์ค๋ฅผ ์์) ๊ฒฝ์ฐ + Activity๊ฐ ์์ ํ ๋ณด์ด์ง ์๋ ๊ฒฝ์ฐ ํธ์ถ๋๋ ํจ์์ ๋๋ค.
- ์ฌ์ฉ์์ ์ํ๊ฑฐ๋(ex: onBackPressed() ํธ์ถ), ์์คํ ์ ์ํด(ex: ์์๋ถ์กฑ) Activity๊ฐ ์์ ํ ์ข ๋ฃ๋๋ฉด onDestroy() ๊ฐ ํธ์ถ๋ฉ๋๋ค.
- ๋ง์ฝ onPause()์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ค๋ฅธ ์ฑ์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์๋ก ํ ๊ฒฝ์ฐ ์ฑ ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋ ์ ์์ต๋๋ค.
override fun onStop() {
super.onStop()
Log.d(TAG , "MainActivity - onStop")
}
- onDestroy()
- Activity๊ฐ ์ฌ์ฉ์์ ์ํ๊ฑฐ๋ ์์คํ
์ ์ํด ์์ ํ ์ข
๋ฃ๋๋ ๊ฒฝ์ฐ ํธ์ถ๋๋ ํจ์ ์ฌ์ฉ์์ ์ํด ์ข
๋ฃ๋๋ ๊ฒฝ์ฐ๋ onBackPressed()ํธ์ถ , finish()๋ฑ์ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
(onBackPressed() ํธ์ถ ์, ๊ธฐ์กด ์คํ๋ ์กํฐ๋นํฐ๊ฐonResume()๊น์ง ํธ์ถ๋ ํ onDestroy๊ฐ ํธ์ถ๋จ.)
์์คํ ์ ์ํด ์ข ๋ฃ๋๋ ๊ฒฝ์ฐ๋ ๋ํ์ ์ผ๋ก ์์ ๋ถ์กฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ(๋ฉ๋ชจ๋ฆฌ ํ๋ณด๋ฅผ ์ํ) ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
override fun onDestroy() {
super.onDestroy()
Log.d(TAG , "MainActivity - onDestroy")
}
- onRestart()
- onStop()์ด ํธ์ถ๋ ์ดํ์(๋ค๋ฅธ Activity๊ฐ ์ต์๋จ์์ ๋ณด์ธ ์ดํ์) ๋ค์ ๊ธฐ์กด Activity๋ก ๋์์ค๋ ๊ฒฝ์ฐ ํธ์ถ๋๋ ํจ์์ ๋๋ค.
override fun onRestart() {
super.onRestart()
Log.d(TAG , "MainActivity - onRestart")
}
22.10.14 Activity์ ๊ดํ ์ ๋ณด ์ถ๊ฐ
- onSavedInstance()
- onPause()๊ฐ ํธ์ถ๋๊ธฐ ์ด์ ์ ํธ์ถ๋๋ฉฐ ํ์ฌ ํ์ฑํ๋ activity์ UI์ ๋ณด๋ฅผ Bundle์ ์ ์ฅํ ์ ์์ต๋๋ค.
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
outState.putInt()
outState.putString()
// ... ์ธ์ ์ฌ๋ฌ ๊ฐ๋ค์ ์ ์ฅํ ์ ์๋ค.
}
- onRestoreInstanceState()
- onPause()๊ฐ ํธ์ถ๋ ํ ๋ค์ ํ๋ฉด์ด resume ๋๊ธฐ ์ ์ ํธ์ถ๋๋ ํจ์๋ก onSavedInstance()์์ bundle์ ์ ์ฅํ ๊ฐ์ ์ฝ์ด์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
super.onRestoreInstanceState(savedInstanceState)
savedInstanceState.getInt()
savedInstanceState.getString()
// ... ๋ฑ๋ฑ ์ธ์ ์ฌ๋ฌ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค.
}
