Android/Kotlin

[Kotlin][Android] ์•ˆ๋“œ๋กœ์ด๋“œ Activity(์•กํ‹ฐ๋น„ํ‹ฐ)์˜ ์ƒ๋ช…์ฃผ๊ธฐ์™€ ํ•จ์ˆ˜

๋ށ์š” 2022. 10. 14. 10:43

- onCreate()

  1. ์ตœ์ดˆ๋กœ Activity๋ฅผ ์‹คํ–‰ํ•˜๋ฉด, ์ฒ˜์Œ์œผ๋กœ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.
  2. ์ฃผ๋กœ ์ดˆ๊ธฐํ™” ๊ด€๋ จ ์ž‘์—…์„ ํ•ฉ๋‹ˆ๋‹ค.
override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        Log.d(TAG , "MainActivity - onCreate")
    }

- onStart()

  1. ์ตœ์ดˆ๋กœ Activity๋ฅผ ์‹คํ–‰ํ•˜๋ฉด, onCreate() ๋‹ค์Œ์œผ๋กœ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.
  2. onStop() -> onRestart() ๋‹ค์Œ์œผ๋กœ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.
  3. ์ด ์‹œ์ ๋ถ€ํ„ฐ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์•กํ‹ฐ๋น„ํ‹ฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
   override fun onStart() {
        super.onStart()
        Log.d(TAG , "MainActivity - onStart")
    }

- onResume()

  1. ์ตœ์ดˆ๋กœ Activity๋ฅผ ์‹คํ–‰ํ•˜๋ฉด, onStart() ๋‹ค์Œ์œผ๋กœ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.
  2. onPause() ๋‹ค์Œ์œผ๋กœ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.
  3. ์ด ์‹œ์ ๋ถ€ํ„ฐ๋Š” Activity๊ฐ€ ํ™œ์„ฑํ™”๋œ ์ƒํƒœ(์‹คํ–‰ ์ค‘์ธ ์ƒํƒœ)๋กœ ๋ด…๋‹ˆ๋‹ค.
override fun onResume() {
        super.onResume()
        Log.d(TAG , "MainActivity - onResume")
    }

 

- onPause()

  1. ๋งŒ์•ฝ onResume()๊ฐ€ ํ˜ธ์ถœ๋œ ์ดํ›„์—(Activity๊ฐ€ ํ™œ์„ฑํ™”๋œ ์ดํ›„์—) ๋‹ค๋ฅธ Activity๊ฐ€ ์ตœ์ƒ๋‹จ์—์„œ ๋ณด์—ฌ์ง€๋Š”(ํฌ์ปค์Šค๋ฅผ ์žƒ์€) ๊ฒฝ์šฐ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.
  2. ๋งŒ์•ฝ onPause()๊ฐ€ ํ˜ธ์ถœ๋œ ์ดํ›„์—(๋‹ค๋ฅธ Activity๊ฐ€ ์ตœ์ƒ๋‹จ์—์„œ ๋ณด์ธ ์ดํ›„์—) ๋‹ค์‹œ ๊ธฐ์กด Activity๋กœ ๋Œ์•„์˜ค๋Š” ๊ฒฝ์šฐ onResume()๊ฐ€ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค.
  3. ๋งŒ์•ฝ ๋‹ค๋ฅธ ์•ฑ์ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•„์š”๋กœ ํ•  ๊ฒฝ์šฐ ์•ฑ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
override fun onPause() {
        super.onPause()
        Log.d(TAG , "MainActivity - onPause")
    }

- onStop()

  1. ๋งŒ์•ฝ onResume()๊ฐ€ ํ˜ธ์ถœ๋œ ์ดํ›„์—(Activity๊ฐ€ ํ™œ์„ฑํ™” ๋œ ์ดํ›„์—) ๋‹ค๋ฅธ Activity๊ฐ€ ์ตœ์ƒ๋‹จ์—์„œ ๋ณด์—ฌ์ง€๋Š”(ํฌ์ปค์Šค๋ฅผ ์žƒ์€) ๊ฒฝ์šฐ + Activity๊ฐ€ ์™„์ „ํžˆ ๋ณด์ด์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.
  2. ์‚ฌ์šฉ์ž์— ์˜ํ•˜๊ฑฐ๋‚˜(ex: onBackPressed() ํ˜ธ์ถœ), ์‹œ์Šคํ…œ์— ์˜ํ•ด(ex: ์ž์›๋ถ€์กฑ) Activity๊ฐ€ ์™„์ „ํžˆ ์ข…๋ฃŒ๋˜๋ฉด onDestroy() ๊ฐ€ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค.
  3. ๋งŒ์•ฝ onPause()์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋‹ค๋ฅธ ์•ฑ์ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•„์š”๋กœ ํ•  ๊ฒฝ์šฐ ์•ฑ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
override fun onStop() {
        super.onStop()
        Log.d(TAG , "MainActivity - onStop")
    }

- onDestroy()

  1. Activity๊ฐ€ ์‚ฌ์šฉ์ž์— ์˜ํ•˜๊ฑฐ๋‚˜ ์‹œ์Šคํ…œ์— ์˜ํ•ด ์™„์ „ํžˆ ์ข…๋ฃŒ๋˜๋Š” ๊ฒฝ์šฐ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜ ์‚ฌ์šฉ์ž์— ์˜ํ•ด ์ข…๋ฃŒ๋˜๋Š” ๊ฒฝ์šฐ๋Š” onBackPressed()ํ˜ธ์ถœ , finish()๋“ฑ์˜ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
    (onBackPressed() ํ˜ธ์ถœ ์‹œ, ๊ธฐ์กด ์‹คํ–‰๋œ ์•กํ‹ฐ๋น„ํ‹ฐ๊ฐ€onResume()๊นŒ์ง€ ํ˜ธ์ถœ๋œ ํ›„ onDestroy๊ฐ€ ํ˜ธ์ถœ๋จ.)
    ์‹œ์Šคํ…œ์— ์˜ํ•ด ์ข…๋ฃŒ๋˜๋Š” ๊ฒฝ์šฐ๋Š” ๋Œ€ํ‘œ์ ์œผ๋กœ ์ž์› ๋ถ€์กฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ(๋ฉ”๋ชจ๋ฆฌ ํ™•๋ณด๋ฅผ ์œ„ํ•œ) ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
override fun onDestroy() {
        super.onDestroy()
        Log.d(TAG , "MainActivity - onDestroy")
    }

- onRestart()

  1. onStop()์ด ํ˜ธ์ถœ๋œ ์ดํ›„์—(๋‹ค๋ฅธ Activity๊ฐ€ ์ตœ์ƒ๋‹จ์—์„œ ๋ณด์ธ ์ดํ›„์—) ๋‹ค์‹œ ๊ธฐ์กด Activity๋กœ ๋Œ์•„์˜ค๋Š” ๊ฒฝ์šฐ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.
override fun onRestart() {
        super.onRestart()
        Log.d(TAG , "MainActivity - onRestart")
    }

22.10.14 Activity์— ๊ด€ํ•œ ์ •๋ณด ์ถ”๊ฐ€

- onSavedInstance()

  1. onPause()๊ฐ€ ํ˜ธ์ถœ๋˜๊ธฐ ์ด์ „์— ํ˜ธ์ถœ๋˜๋ฉฐ ํ˜„์žฌ ํ™œ์„ฑํ™”๋œ activity์˜ UI์ •๋ณด๋ฅผ Bundle์— ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        outState.putInt()
        outState.putString()
        // ... ์™ธ์— ์—ฌ๋Ÿฌ ๊ฐ’๋“ค์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.
    }

 

- onRestoreInstanceState()

  1. onPause()๊ฐ€ ํ˜ธ์ถœ๋œ ํ›„ ๋‹ค์‹œ ํ™”๋ฉด์ด resume ๋˜๊ธฐ ์ „์— ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜๋กœ onSavedInstance()์—์„œ bundle์— ์ €์žฅํ•œ ๊ฐ’์„ ์ฝ์–ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
        super.onRestoreInstanceState(savedInstanceState)
        savedInstanceState.getInt()
        savedInstanceState.getString()
        // ... ๋“ฑ๋“ฑ ์™ธ์— ์—ฌ๋Ÿฌ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.
    }

 

 

๋Œ“๊ธ€์ˆ˜0