https://developer.android.com/reference/android/content/ComponentCallbacks2
public interface ComponentCallbacks2 implements ComponentCallbacks
νμ₯λ ComponentCallbakcs μΈν°νμ΄μ€κ³ , λ³΄λ€ μΈλΆνλ λ©λͺ¨λ¦¬ κ΄λ¦¬λ₯Ό μν μλ‘μ΄ μ½λ°±μ κ°μ§κ³ μμ΅λλ€. μ΄ μΈν°νμ΄μ€λ λͺ¨λ μ ν리μΌμ΄μ ꡬμ±μμ(Activity, Service, ContentProvider, Application)μμ μ¬μ© κ°λ₯ν©λλ€.
νμ¬ μμ€ν μ μ½μ κΈ°λ°μΌλ‘ λ©λͺ¨λ¦¬λ₯Ό μ μ§μ μΌλ‘ ν΄μ νκΈ° μν΄μλ onTrimMemory(int)λ₯Ό ꡬνν΄μΌ ν©λλ€. μ΄ μ½λ°±μ μ΄μ©ν΄μ 리μμ€(λ©λͺ¨λ¦¬)λ₯Ό ν΄μ νλ κ²μ μ λ°μ μΌλ‘ λ μλ΅μ±μ΄ μ’μ μμ€ν μ μ 곡νκ³ , λν μμ€ν μ΄ νλ‘μΈμ€λ₯Ό μ€λ μ μ§ν΄μ μ±μ μ¬μ©μ κ²½νμ μ§μ μ μΈ μ΄μ μ μ 곡ν©λλ€. μ¦, μ΄ μ½λ°±μ μν΄ μ μλ λ©λͺ¨λ¦¬ λ 벨μ κΈ°μ€μΌλ‘ 리μμ€λ₯Ό λ€λ¬μ§(trim)μμΌλ©΄, μμ€ν μ κ°μ₯ μ΅κ·Όμ μ¬μ©ν (LRU) 리μ€νΈμ νλ‘μΈμ€κ° μΊμλ‘ μ μ₯λμ΄ μλ λμ νλ‘μΈμ€λ₯Ό μ’ λ£ν κ°λ₯μ±μ΄ λ λμμ§κ³ , λ°λΌμ μ¬μ©μκ° μ±μΌλ‘ λμμ¬ λ μ±μ΄ λ€μ μμν΄μ λͺ¨λ μνλ₯Ό 볡μν΄μΌ νλ κ²μ΄ μꡬλ©λλ€.
onTrimMemory(int)κ° μ 곡νλ κ°λ€μ λ©λͺ¨λ¦¬ μ νμ΄ λ¨μΌ μ ν μ§νμΌλ‘ λνλμ§λ μμ΅λλ€. κ·Έλ¬λ λ©λͺ¨λ¦¬ κ°μ©μ±μ λν΄ λ€μν νμ λ€μ λ¨μλ€μ μ 곡νμ£ .
- μ±μ΄ μ€ν μ€μ΄λ©΄
1. TRIM_MEMORY_RUNNING_MODERTAE
λ¨λ§μ΄ λ©λͺ¨λ¦¬κ° λΆμ‘±ν μνμμ μ€ννκΈ° μμν©λλ€. μ±μ μ€ν μ€μ΄κ³ μ’ λ£ν μ μμ£ .
2. TRIM_MEMORY_RUNNING_LOW
λ¨λ§μ΄ λ©λͺ¨λ¦¬κ° ν¨μ¬ λΆμ‘±ν μνμμ μ€ννκ³ μμ΅λλ€. μ±μ μ€ν μ€μ΄κ³ , μ’ λ£ ν μλ μμΌλ (μ±μ μ±λ₯μ μ§μ μ μΌλ‘ μν₯μ μ£Όλ) μμ€ν μ±λ₯ ν₯μμ μν΄μ μ μ°λ 리μμ€λ ν΄μ νμΈμ.
3. TRIM_MEMORY_RUNNING_CRITICAL
λ¨λ§μ΄ κ·Ήλλ‘ λ©λͺ¨λ¦¬κ° λΆμ‘±ν μνμμ μ€ννκ³ μμ΅λλ€. μ±μ μμ§ μ’ λ£ κ°λ₯ν νλ‘μΈμ€λ‘ μ¬κ²¨μ§μ§λ μμΌλ, λ§μ½ μ±μ΄ 리μμ€λ₯Ό ν΄μ νμ§ μμΌλ©΄ μμ€ν μ λ°±κ·ΈλΌμ΄λ νλ‘μΈμ€λ₯Ό μ£½μΌ κ²μ΄κ³ μ, λ°λΌμ μ±λ₯ μ νλ₯Ό λ§κΈ° μν΄μλ μ§κΈ μ€μνμ§ μμ 리μμ€λ€μ ν΄μ ν΄μΌ ν©λλ€.
- μ±μ κ°μμ±μ΄ λ°λλ©΄
1. TRIM_MEMORY_UI_HIDDEN
λΉμ μ±μ UIκ° λ μ΄μ 보μ΄μ§ μκ² λλ©΄, UIμμλ§ μ¬μ©νκ³ μλ ν° λ¦¬μμ€λ₯Ό ν΄μ νκΈ° μ’μ νμ΄λ°μ λλ€.
- μ±μ νλ‘μΈμ€κ° λ°±κ·ΈλΌμ΄λ LRU λͺ©λ‘μ μλ λμλ
1. TRIM_MEMORY_BACKGROUND
μμ€ν μ λ©λͺ¨λ¦¬κ° λΆμ‘±ν μνμμ μ€ννκ³ μκ³ , λΉμ μ νλ‘μΈμ€λ LRU 리μ€νΈμ μμμ κ°κΉμ΄ μμ΅λλ€. νλ‘μΈμ€κ° μ’ λ£λ μνμ΄ λμ§ μλ€κ³ ν΄λ, μμ€ν μ LRU λ¦¬μ€ μμ μλ νλ‘μΈμ€λ€μ μ΄λ―Έ μ’ λ£μν€κ³ μμ μ μμ΅λλ€. λ°λΌμ νλ‘μΈμ€κ° λͺ©λ‘μ λ¨μ μκ³ μ¬μ©μκ° μ±μΌλ‘ λμμ¬ λ λΉ λ₯΄κ² μ¬κ°νκΈ° μν΄μ 볡ꡬνκΈ° μ¬μ΄ 리μμ€λ₯Ό ν΄μ ν΄μΌ ν©λλ€.
2.TRIM_MEMORY_MODERATE
μμ€ν μ λ©λͺ¨λ¦¬κ° λΆμ‘±ν μνμμ μ€ννκ³ μκ³ νλ‘μΈμ€λ LPU 리μ€νΈμ μ€κ°μ κ°κΉμ΄ μμ΅λλ€. λ§μ½ μμ€ν μ΄ λ©λͺ¨λ¦¬ λΆμ‘±μΌλ‘ λ μ μ½μ λ°κ² λλ€λ©΄, λΉμ μ νλ‘μΈμ€λ μ’ λ£λ μ μμ΅λλ€.
3.TRIM_MEMORY_COMPLETE
μμ€ν μ λ©λͺ¨λ¦¬κ° λΆμ‘±ν μνμμ μ€ννκ³ μκ³ νλ‘μΈμ€λ μ§κΈ λ©λͺ¨λ¦¬λ₯Ό 볡ꡬνμ§ μμΌλ©΄ λΉμ μ νλ‘μΈμ€λ κ°μ₯ λ¨Όμ μ’ λ£λ νλ‘μΈμ€λ€ μ€ νλμ λλ€. μ± μνλ₯Ό μ κ°νλλ°μ μ€μνμ§ μμ κ²λ€μ μ λΆ λ€ ν΄μ ν΄μΌ ν©λλ€.
μ£Όμ : μμ€ν μ΄ LRU 리μ€νΈ μμ νλ‘μΈμ€λλ₯Ό μ’ λ£μν€κΈ° μμν λ, μ£Όλ‘ μν₯μμΌλ‘ μμ μ΄ μ΄λ£¨μ§μ§λ§, μμ€ν μ μ΄λ€ νλ‘μΈμ€λ€μ΄ λ λ§μ λ©λͺ¨λ¦¬λ₯Ό μλΉνκ³ μκ³ , μ’ λ£λλ€λ©΄ λ λ§μ λ©λͺ¨λ¦¬λ₯Ό μ 곡ν μ μλμ§μ λν΄ κ³ λ €ν©λλ€. λ°λΌμ LRU 리μ€νΈ μμμ μ λ°μ μΌλ‘ λ©λͺ¨λ¦¬λ₯Ό λ μλΉν μλ‘, 리μ€νΈ μμμ λ¨μ λ 빨리 μ¬κ°ν κ°λ₯μ±μ λ λ§μ΄ κ°μ§ μ μμ΅λλ€.
νλ‘μΈμ€ μλͺ μ£ΌκΈ°μ λ€μν λ¨κ³λ€μ λν (λ°±κ·ΈλΌμ΄λ LRU 리μ€νΈ μμμ λμ¬μ§λ κ²μ λν μμ κ°μ) λ λ§μ μ 보λ νλ‘μΈμ€μ μ°λ λ λ¬Έμμ μ 곡λ©λλ€.
'λΉ κ΅¬λ© μ±μ°κΈ°' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Android][RecyclerView][NestedScrollView] 리μ¬μ΄ν΄λ¬λ·° μ±λ₯ ν₯μ (0) | 2022.12.29 |
---|---|
[Android][WebView] μΉλ·° λ§ν¬ μ€ν μ μΈλΆ λΈλΌμ°μ μ€ν μΆμ (1) | 2022.12.29 |
[Android] ContentResolver λ¬Έμ μ½κΈ° (0) | 2022.10.14 |
[Android] ContentProvider λ¬Έμ μ½κΈ° (0) | 2022.10.14 |
[Android] κΈ°λ³Έ μ 곡 BindingAdapter (0) | 2022.10.13 |