基本定義
- 進程:系統分配資源的基本單位,擁有獨立內存空間。一個 APP 默認運行在單獨進程中。
- 線程:CPU 調度的基本單位,隸屬於進程,共享進程內存。主線程(UI 線程)處理界面交互。
Android 特有機制
- 多線程:用於耗時操作(網絡、IO、計算)避免阻塞 UI。常用
Handler、AsyncTask、RxJava、协程 等。
- 多進程:在
AndroidManifest 中為組件指定 android:process,實現組件隔離、突破單進程內存限制。進程間通信(IPC)需用 AIDL、Messenger、ContentProvider 等。
選擇建議
- 單純後台任務 → 多線程。
- 需獨立內存、組件解耦、或大內存場景(如地圖、音視頻)→ 多進程。
理解二者區別與協作,是編寫高性能 Android 應用的基礎。