標籤:des android style blog http color 使用 ar for
- 與windows平台不同,Android應用程式不能控制自己的生命週期,應用程式組件必須監聽應用程式的狀態的變化並作出適當反應,特別要注意為隨時被終止做好準備
- 預設情況下,每個Android應用程式都是通過他們自己的進程運行,每個進程都運行在獨立的Dalvik執行個體中,每個應用程式的記憶體和進程管理都是由運行時進行專門處理的。通過使用android:process屬性可以使同一個應用程式組件運行在不同的進程中,或者讓多個應用程式共用一個進程
- 回收資源時,進程被終止的順序是由它們的應用程式優先順序決定的,一個應用程式的優先順序等同於它的優先順序最高的組件的優先順序。
- 兩個應用程式擁有相同的優先順序時,在較低優先順序狀態已耗用時間最長的進程首先被終止。進程的優先順序也收進程間依賴性的影響,如果一個應用程式依賴於第二個應用程式提供的Service或者ContentProvider,那麼第二個應用程式至少會擁有與它所支援的這個應用程式相同的優先順序
- 活動進程:有組件正在與使用者進行互動的應用程式的進程,包括:
- 處於活動狀態的Activity,它們位於前台並對使用者事件進行響應
- 正在執行onReceiver事件處理常式的Broadcast Receiver
- 正在執行onStart,onCreate或者onDestroy事件處理常式的Service
- 正在運行且已被標記為前台啟動並執行service
- 可見進程:可見但非活動的進程是指那些駐留“可見Activity”的進程,例如,進程的Activity組件被部分遮擋時
- 啟動服務進程:已經啟動的service的進程,系統終止一個啟動並執行service後,會在資源可用時嘗試重新啟動Service,除非告訴系統不要這麼做
- 後台進程:不可見,並且沒有任何正在啟動並執行service的activity的進程
- 空進程:為了提高系統整體效能,Android經常在應用程式的生存周期結束之後仍然把他們儲存在記憶體中,Android通過維護這個緩衝來減少應用程式被再次啟動的啟動時間,通常這些進程會根據需要被定期終止
Android 生命週期