[UMC] 4์ฃผ์ฐจ ๐ŸŽˆ- Activity Lifecycle

Madeline๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ปยท2022๋…„ 10์›” 15์ผ
0

kotlin study

๋ชฉ๋ก ๋ณด๊ธฐ
7/19
post-thumbnail

Activity Lifecycle

: ํ•˜๋‚˜์˜ Activity๊ฐ€ ์ƒ๊ธฐ๊ณ , ์ž‘๋™ํ•˜๋ฉฐ, ์—†์–ด์ง€๋Š” Cycle

  • ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ™œ์šฉํ•ด์•ผ ์ข‹์€ ์•ฑ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

onCreate()

:Activity๊ฐ€ ์ฒ˜์Œ ์ƒ์„ฑ๋˜์—ˆ์„ ๋•Œ ํ˜ธ์ถœ

  • ๋”ฑ ํ•œ๋ฒˆ๋งŒ ํ˜ธ์ถœ!
  • ํ™”๋ฉด์ด ํšŒ์ „๋˜๋ฉด Activity๊ฐ€ ๋‹ค์‹œ ์ƒ์„ฑ๋˜๋Š” ๊ฒƒใ…‡๋กœ ์ธ์‹ํ•˜์—ฌ, ์ด๋•Œ๋Š” ํ˜ธ์ถœ๋  ์ˆ˜ ์žˆ์Œ
  • ์–ด๋–ค xml ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ ˆ์ด์•„์›ƒ์„ ๊ตฌ์„ฑํ• ์ง€ ์„ค์ •
  • ๋‹ค์–‘ํ•œ view๋ฅผ ์„ค์ •

onStart()

: Activity๊ฐ€ ํ™”๋ฉด์— ์ œ๋Œ€๋กœ ํ‘œ์‹œ๋˜๊ธฐ ์ง์ „์— ํ˜ธ์ถœ

  • ๋‚˜๊ฐ”๋‹ค๊ฐ€ ๋“ค์–ด์˜ค๋ฉด ๋˜ ํ˜ธ์ถœ๋จ
  • Ex) ๋ฐฐ๊ฒฝ์Œ์•… ์žฌ์ƒ ์ค€๋น„

onResume()

: Activiy๊ฐ€ ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ์ž‘์šฉ์ด ๊ฐ€๋Šฅํ•ด์งˆ ๋•Œ ํ˜ธ์ถœ

  • ์‚ฌ์šฉ์ž๊ฐ€ ํ™”๋ฉด์— ์žˆ๋Š” ๊ฒƒ๋“ค์„ ๋ˆ„๋ฅด๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ด์งˆ ๋•Œ
  • ์ง€๋„ ์•ฑ์—์„œ GPS ์‚ฌ์šฉ ํ™œ์„ฑํ™”

======์ด ๋•Œ Activity๊ฐ€ ์‹คํ–‰๋œ๋‹ค! ์ž‘๋™!

onPause()

: Activity์˜ ์ผ๋ถ€๊ฐ€ ๊ฐ€๋ ค์ง€๊ฑฐ๋‚˜, ํˆฌ๋ช…ํ•˜๊ฒŒ ๋ณด์ด๋Š” ๊ฒฝ์šฐ ํ˜ธ์ถœ

  • ํ™”๋ฉด ์ผ๋ถ€๊ฐ€ ๊ฐ€๋ ค์ ธ ์‚ฌ์šฉ์ž๊ฐ€ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ธฐ ์–ด๋ ค์šธ ๋•Œ
  • Ex) GPS ์‚ฌ์šฉ ์ผ์‹œ์ •์ง€, ์ „ํ™”์˜ค๊ฑฐ๋‚˜ ์žฌ๋‚œ๋ฌธ์ž ์˜ฌ ๋•Œ
  • onResume()๊ณผ ๋งค์น˜!

onStop()

: Activity๊ฐ€ ์™„์ „ํžˆ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์ด์ง€ ์•Š์„ ๋–„ ํ˜ธ์ถœ

  • ํ™ˆ ํ‚ค๋‚˜ ๋‹ค๋ฅธ ์•ฑ์œผ๋กœ ์™„์ „ํžˆ ๋„˜์–ด๊ฐ”์„ ๋•Œ
  • ๋ฌด๊ฑฐ์šด ์ž‘์—…๋“ค( ๋ฐ์ดํ„ฐ ์ €์žฅ): ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ์ž‘์—…์„ ์™„์ „ํžˆ ์‚ฌ๋ผ์ง€๊ธฐ ์ „ onPause ์ง„ํ–‰ํ•˜๋ฉด ์‚ฌ๋ผ์ง€๊ธฐ ์ „์— ์•ˆ ๋๋‚  ์ˆ˜ ์žˆ์Œ
    onPause -> onStop

onRestart()

:Activity์‚ฌ ์™„์ „ํžˆ ์‚ฌ๋ผ์กŒ๋‹ค๊ฐ€, ๋‹ค์‹œ ๋ณด์ด๊ธฐ ์‹œ์ž‘ํ•  ๋•Œ ํ˜ธ์ถœ(ํ™ˆ์—์„œ ๋‚˜๊ฐ”๋‹ค๊ฐ€ ๋Œ์•„์˜ฌ ๋•Œ)

  • onStop ์ดํ›„

onDestroy()

: Activity๊ฐ€ ์™„์ „ํžˆ ์‚ฌ๋ผ์กŒ์„ ๋•Œ ํ˜ธ์ถœ

  • ์‚ฌ์šฉ์ž์˜ ๋’ค๋กœ๊ฐ€๊ธฐ๋กœ ์ข…๋ฃŒํ–ˆ์„ ๋•Œ/๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ์œผ๋กœ ๊ฐ•์ œ ์ข…๋ฃŒ
  • ๋น„๋””์˜ค ํ”Œ๋ ˆ์ด์–ด์—์„œ ์˜์ƒ ํŒŒ์ผ ๋‹ซ๊ธฐ

์‹ค์Šต

๋งŒ๋“ค๊ณ  ์žˆ๋˜ ์ธ์Šคํƒ€๊ทธ๋žจ ์•ฑ์— ์ ์šฉํ•ด๋ณด์ž
MainActivity.kt ์— ์œ„ ์ฝ”๋“œ๋“ค์„ ์‚ดํŽด๋ณด๊ธฐ ์œ„ํ•ด
Log.d()๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋””๋ฒ„๊ทธ ๋˜๋Š”๊ฑธ ๋ณด์—ฌ์คŒ

์ด๋Ÿฐ์‹์œผ๋กœ ์•กํ‹ฐ๋น„ํ‹ฐ๊ฐ€ ์‹คํ–‰๋˜๊ณ  ๋ฉˆ์ถ”๊ณ  ๋“ฑ๋“ฑ์„ ์‚ดํŽด๋ณด์ž

=> ์•ฑ์„ ์‹คํ–‰ํ•˜์ž๋งˆ์ž
onCreate
onStart
onResume

=> ์•ฑ์ด ๊ฐ•์ œ ์ข…๋ฃŒ๋˜์—ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ์ผœ์กŒ์„ ๋•Œ:
onPause
onStop
onRestart
onStart
onResume

=> ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ๋‹ค์Œ Activity๋กœ ๋„˜์–ด๊ฐˆ ๋•Œ:

onPause
onStop

=> Overview์—์„œ ์•ฑ์„ ์ข…๋ฃŒ์‹œ์ผœ๋ฒ„๋ฆฌ๋ฉด:
์™œ onDestroy๊ฐ€ ์•ˆ๋œฐ๊นŒ??
์›๋ž˜๋Š” ๋– ์•ผ ํ•œ๋‹ค..

์•„๋ฌดํŠผ Process๊ฐ€ ์ข…๋ฃŒ๋˜์—ˆ๋‹ค๊ณ  ๋œฌ๋‹ค!!

velog์— ์˜์ƒ ์ฒจ๋ถ€ํ•˜๊ธฐ

๊ตฌ๊ธ€๋ง ์—„์ฒญ ํ•ด๋„ ์ž˜ ์•ˆ๋‚˜์™€์„œ ์ ์–ด ๋†“๋Š”๋‹ค.

<div class="video-container">
    <video autoplay muted controls src="ํŒŒ์ผ์ฃผ์†Œ"></video>
</div>

์ด๊ฒƒ๋„ ์•ˆ๋œ๋‹ค.
์œ ํˆฌ๋ธŒ๋งŒ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋‚˜๋ณด๋‹ค.

https://youtu.be/ss_IWdFnODE

์—๋ผ์ž‰

profile
Major interest in iOS ๐Ÿ€ & ๐ŸŽ

0๊ฐœ์˜ ๋Œ“๊ธ€