์ถ์ฒ
Gemini
์กํฐ๋นํฐ ๋ฐ์น ๋ชจ๋์ ํ๋๊ทธ์ ์ฐจ์ด์
์๋๋ก์ด๋ ์ฑ์์ ์กํฐ๋นํฐ๊ฐ ์ด๋ป๊ฒ ์์๋๊ณ ๊ด๋ฆฌ๋๋์ง๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐ ์์ด ๋ฐ์น ๋ชจ๋์ ํ๋๊ทธ๋ ์ค์ํ ์ญํ ์ ํ๋ค. ๋ ๋ค ์กํฐ๋นํฐ์ ์๋ช ์ฃผ๊ธฐ์ ์ํฅ์ ๋ฏธ์น์ง๋ง, ์๋ ๋ฐฉ์๊ณผ ์ค์ ์์น์ ์์ด ์ฐจ์ด๊ฐ ์๋ค.
๋ฐ์น ๋ชจ๋ Launch Mode
1. ์ ์
AndroidMenifest.xml ํ์ผ์์ ๊ฐ ์กํฐ๋นํฐ์ ์ค์ ํ๋ ์์ฑ. ์กํฐ๋นํฐ๊ฐ ์์ฑ๋๊ณ ๊ด๋ฆฌ๋๋ ๋ฐฉ์์ ๊ฒฐ์ ํ๋ค.
2. ์ข ๋ฅ
- standard
- singleTop
- singleTask
- singleInstance
3. ๋ชฉ์
์กํฐ๋นํฐ์ ์ธ์คํด์ค๊ฐ ์์ฑ๋๋ ์์ ๊ณผ ์์น, ๊ทธ๋ฆฌ๊ณ ํ์คํฌ์์ ๊ด๊ณ๋ฅผ ์ ์ํ๋ค.
4. ์ค์ ์์น
AndroidManifest.xml ํ์ผ์ <activity> ํ๊ทธ ์์ andoridLaunchMode ์์ฑ์ผ๋ก ์ค์ ํ๋ค.
ํ๋๊ทธ Flag
1. ์ ์
Intent ๊ฐ์ฒด์ ์ค์ ํ๋ ์ถ๊ฐ์ ์ธ ์ ๋ณด๋ก, ์กํฐ๋นํฐ๋ฅผ ์์ํ ๋ ํน์ ๋์์ ์ง์ ํ๋ค.
2. ์ข ๋ฅ
- FLAG_ACITIVTY_NEW_TASK
- FLAG_ACTIVITY_CLEAR_TOP
- FLAG_ACTIVITY_SINGLE_TOP
- ๋ฑ๋ฑ
3. ๋ชฉ์
๋ฐ์น ๋ชจ๋๋ฅผ ๋ณด์ํ๊ฑฐ๋ ํน์ ์ํฉ์์ ์กํฐ๋นํฐ์ ๋์์ ์กฐ์ ํ๋ค.
4. ์ค์ ์์น
Intent ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ setFlags() ๋ฉ์๋๋ฅผ ์ฌ์ฉํด ์ค์ ํ๋ค.
๋ฐ์น ๋ชจ๋์ ํ๋์ ์ฃผ์ ์ฐจ์ด์
ํน์ง | ๋ฐ์น๋ชจ๋ | ํ๋๊ทธ |
์ค์ ์์น | AndroidManifest.xml | Intent ๊ฐ์ฒด |
์ํฅ ๋ฒ์ | ํด๋น ์กํฐ๋นํฐ ์ ์ฒด | ํน์ Intent ํธ์ถ ์ |
๊ธฐ๋ฅ | ์กํฐ๋นํฐ์ ๊ธฐ๋ณธ์ ์ธ ์์ฑ ๋ฐ ๊ด๋ฆฌ ๋ฐฉ์ ์ค์ | ๋ฐ์น ๋ชจ๋๋ฅผ ๋ณด์ํ๊ฑฐ๋ ํน์ ๋์ ์ง์ |
์์ | standard, singleTop | FLAG_ACTIVITY_NEW_TASK, FLAG_ACTIVITY_CLEAR_TOP |
๋์ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
- ๋ฐ์น ๋ชจ๋ : ์กํฐ๋นํฐ์ ๊ธฐ๋ณธ์ ์ธ ๋์ ๋ฐฉ์์ ์ ์ํ๋ค.
- ํ๋๊ทธ : ํน์ ์ํฉ์์ ๋ฐ์น ๋ชจ๋์ ๋์์ ์์ ํ๊ฑฐ๋ ์ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ์ ๋ถ์ฌํ๋ค.
์
๋ฐ์น๋ชจ๋๊ฐ singleTop์ผ๋ก ์ค์ ๋ ์กํฐ๋นํฐ์ FLAG_ACTIVITY_NEW_TASK ํ๋๊ทธ๋ฅผ ์ถ๊ฐํ๋ฉด, ํด๋น ์กํฐ๋นํฐ๊ฐ ์๋ก์ด ํ์คํฌ์์ ์์ํ๋ค.
์ธ์ ์ด๋ค ๊ฒ์ ์ฌ์ฉํด์ผ ํ ๊น?
- ๋ฐ์น๋ชจ๋ : ์ฑ์ ์ ์ฒด์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ค๊ณํ ๋, ๊ฐ ์กํฐ๋นํฐ์ ์ญํ ๊ณผ ๊ด๊ณ๋ฅผ ๊ณ ๋ คํ์ฌ ์ค์ ํ๋ค.
- ํ๋๊ทธ: ํน์ ํ๋ฉด ์ ํ์ด๋ ์ธ๋ถ ์ฑ์์ ํธ์ถ๋๋ ๊ฒฝ์ฐ ๋ฑ, ์ํฉ์ ๋ฐ๋ผ ์ ์ฐํ๊ฒ ์ฌ์ฉํ๋ค.
๊ฒฐ๋ก
๋ฐ์น ๋ชจ๋์ ํ๋๊ทธ๋ ์๋ก ๋ณด์์ ์ธ ์ญํ ์ ํ๋ฉฐ, ์ ์ ํ๊ฒ ์กฐํฉํ์ฌ ์กํฐ๋นํฐ์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ค.
'๋น ๊ตฌ๋ฉ ์ฑ์ฐ๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[OOP] ๊ฐ์ฒด์ ๋ถ๋ณ์ฑ๊ณผ ์ค๋ ๋ ์์ ์ฑ (0) | 2024.07.31 |
---|---|
[Android] ๋ฐ์น ๋ชจ๋ ์ข ๋ฅ ๋ฐ ๊ฐ ์ฅ๋จ์ (0) | 2024.07.30 |
[DI]DI ์ปจํ ์ด๋์ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น๋ ์์์ ๊ฐ์ ๋ฐฉ๋ฒ (0) | 2024.07.30 |
[DI] DI ์ปจํ ์ด๋์ ๋์ ์๋ฆฌ์ ์ฃผ์ ๊ธฐ๋ฅ (0) | 2024.07.30 |
[JVM] ํด๋์ค ๋ก๋ฉ ์ง์ฐ ๋ฐ ํด๊ฒฐ ๋ฐฉ์ (0) | 2024.07.29 |