μ± κ°λ°μ€μ λ‘κ·ΈμΈμ νκ³ νμλͺ©λ‘μμ νμμ μ ν ν, λ©μΈ μμ€ν μΌλ‘ μ μν μνμμ μ¬λ¬κ°μ§ μΌμ΄μ€λ₯Ό μ§ν νμ μ± μ€νμ λ°±κ·ΈλΌμ΄λλ‘ λμκ°κ²λ ν νλ©΄μΌλ‘ μ΄λ νμ λ€μ μ±μ μ€ννλ©΄ λ‘κ·ΈμΈ νλ©΄μΌλ‘ λμκ°λ λ¬Έμ κ° λ°μνλ€. ν νλ©΄μΌλ‘ κ°λ€κ° λ€μ μ±μ μ€ννκ²λλ©΄ 보ν΅μ λ§μ§λ§μΌλ‘ μ€ννκ³ μλ μ± νλ©΄μ΄ λνλμΌ νλλ° κ·Έλ μ§ μμλ€. κ·Έλμ, λ§μ§λ§ μ± νλ©΄μ΄ λνλ μ μλλ‘ μλͺ μ£ΌκΈ°μ μ°κ΄μ§μ΄ μ ν ν΄λ³΄μλ€.
μ€νμ€μΈ μ± ν νλ©΄μμ λ€μ μ±μΌλ‘ λμκ°μλ,
λ§μ§λ§ μ€ννλ μ± νλ©΄ 보μ΄κ² νλ λ°©λ²
1. AndroidManifest.xmlλ΄ ν΄λΉ μν°λΉν° μ€μ μ λ³κ²½ λλ μΆκ°νλ€.
android:launcMode="singleTop"
μμ±μλ λ©μΈ Activityμμ μ€ννλ μ± νλ©΄μ΄ λ€μ 보μ¬μΌνκΈ° λλ¬Έμ λ©μΈ μ‘ν°λΉν°μμ μ€μ μ μ§ννλ€. Activityμ€μ λ΄, android:launcModeλ₯Ό singleTopμΌλ‘ μ€μ νλ€. ν΄λΉ μ€μ κ°μ onPause() > onNewIntent() > onResume()μΌλ‘ μλͺ μ£ΌκΈ°λ₯Ό μ΄λνλ€.
LauncMode
μ‘ν°λΉν°λ₯Ό μμνλ λ°©λ²μ λν μ§μΉ¨μ λλ€. μΈν νΈλ₯Ό μ²λ¦¬νκΈ° μν΄ νν°λΉν°λ₯Ό νΈμΆν λ λ°μνλ κ²μ κ²°μ νκΈ° μν΄ Intentκ°μ²΄μμ μ‘ν°λΉν° νλκ·Έμ ν¨κ» μλνλ 4κ°μ λͺ¨λκ° μλ€. κ·Έ λͺ¨λλ μλμ κ°λ€.
standard, singleTop, singleTask, singleInstance
κΈ°λ³Έ λͺ¨λλ standardμ΄λ€. LauncModeλ λκ°μ κ·Έλ£Ήμ μνλλ° ν κ·Έλ£Ήμ standardμ singleTopμ΄κ³ λ€λ₯Έ κ·Έλ£Ήμ singleTaskμ singleInstanceμ΄λ€. standardμ singleTopμ μμ λͺ¨λλ₯Ό ν¬ν¨ν μ‘ν°λΉν°λ μ¬λ¬ λ² μΈμ€ν΄μ€νν μ μλ€. μΈμ€ν΄μ€λ μ무 μμ μ μν μ μμΌλ©° μν°λΉν° μ€νμ μ무 μ₯μμ μμΉ ν μ μλ€. λ€λ₯Έ κ·Έλ£Ήμ μνλ singleTaskμ singleInstanceλ μ‘ν°λΉν° λ¨μΌ μμ λ§ μμν μ μλ€. ν΄λΉ μν°λΉν°λ νμ μ‘ν°λΉν° μ€νμ 루νΈμ μλ€. λν κΈ°κΈ°λ νλ²μ λ¨μΌ μ‘ν°λΉν° μΈμ€ν΄μ€λ§ μ μ§ν μ μλ€.
μ¬κΈ°μ standardμ singleTopμ‘ν°λΉν°λ ν΄λΉ μΈμ€ν΄νΈκ° μ μΈν νΈλ₯Ό μμ νκ² λλ©΄ μ μΈμ€ν΄μ€λ₯Ό μμ±νμ§ μλλ€. κ·Έλ¦¬κ³ , λ€λ₯Έ κ·Έλ£Ήμ μν΄ μλ singleTaskμ singleInstanceλ νΉμν μμμΌλ‘ μΌλ°μ μ©λμλ κΆμ₯νμ§ μλλ°, μ€μ λ‘ μλλ‘μ΄λ λ벨λ‘νΌμμλ λλΆλΆμ μ ν리μΌμ΄μ μ μ ν©νμ§ μμ΅λλ€λΌκ³ λΉ¨κ°μ κ°μ‘°λ‘ μ μνκ³ μλ€.
Android Developers μ°Έκ³ νμ΅λλ€.
λκΈ