Application 是進程級單例,隨進程創建而創建,隨進程銷毀而銷毀。它是全局狀態的最佳承載點。
getApplicationContext() 任意處可獲取,避免 Activity 洩漏。onCreate()、onTrimMemory()、onLowMemory()、onConfigurationChanged()。Application 並重寫 onCreate()。AndroidManifest.xml 的 <application> 標籤設置 android:name=".MyApplication"。(MyApplication) context.getApplicationContext()。onCreate() 會多次調用,需判斷進程名再初始化 SDK。onCreate() 執行超時(主線程 5s/10s)會導致啟動 ANR,耗時操作必須放子線程。Application 本質是系統管理的單例,比手寫單例更安全:
✅ 系統保證實例唯一
✅ 自動關聯進程生命周期
✅ 可獲取系統服務(getSystemService())