๐Ÿ”ฅTIL๐Ÿ”ฅ๊ธฐ์ˆ ๋ฉด์ ‘์งˆ๋ฌธ | Activity LifeCycle

hyihyiยท2024๋…„ 4์›” 25์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
66/69
post-thumbnail

Activity์˜ LifeCycle

๐Ÿ“– Activity์˜ ๊ตฌ์„ฑ์ด ๋ณ€๊ฒฝ๋  ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•

  1. onSaveInstanceState
    ์ด ๋ฉ”์†Œ๋“œ๋Š” ๊ตฌ์„ฑ ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚˜๊ธฐ ์ง์ „์— ํ˜ธ์ถœ๋˜์–ด Bundle ๊ฐ์ฒด์— ์ƒํƒœ ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Activity๊ฐ€ ๋‹ค์‹œ ์ƒ์„ฑ๋  ๋•Œ onCreate() ๋˜๋Š” onRestoreInstanceState() ๋ฉ”์†Œ๋“œ์—์„œ ์ด Bundle์„ ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

  2. ViewModel
    ๊ตฌ์„ฑ ๋ณ€๊ฒฝ ๋™์•ˆ์—๋„ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ๊ตฌ์„ฑ ์š”์†Œ. ViewModel ๋‚ด์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋ฉด Activity๊ฐ€ ์žฌ์ƒ์„ฑ๋˜๋”๋ผ๋„ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋Š” ๋ณด์กด๋œ๋‹ค. ViewModel์„ ์‚ฌ์šฉํ•˜๋ฉด UI ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

  3. onConfigurationChanged ์˜ค๋ฒ„๋ผ์ด๋“œ
    AndroidManifest.xml์—์„œ ํŠน์ • Activity์— ๋Œ€ํ•ด android:configChanges ์†์„ฑ์„ ์„ค์ •ํ•จ์œผ๋กœ์จ, ์‹œ์Šคํ…œ์ด ๊ตฌ์„ฑ ๋ณ€๊ฒฝ์„ ์ž๋™์œผ๋กœ ๋‹ค๋ฃจ์ง€ ์•Š๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ฒฝ์šฐ onConfigurationChanged() ๋ฉ”์†Œ๋“œ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋“œํ•˜์—ฌ ๊ตฌ์„ฑ ๋ณ€๊ฒฝ์„ ์ง์ ‘ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ๊ถŒ์žฅ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์œผ๋ฉฐ, ์ฃผ๋กœ ๋ทฐ๊ฐ€ ๋งค์šฐ ๋ณต์žกํ•˜๊ฑฐ๋‚˜ ํŠน์ • ๊ตฌ์„ฑ ๋ณ€๊ฒฝ์„ ๋งค์šฐ ์„ธ๋ฐ€ํ•˜๊ฒŒ ์ œ์–ดํ•ด์•ผ ํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.

profile
์ž์œ ๋กญ๊ฒŒ ์“ด ๋‚˜์˜ ์ž์œ ๋กœ์šด Development voyageโ›ต

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