什麼是Service
·Service表示“服務”。
·Service是Android系統的核心組件之一。
-Service本質是一個繼承了android.app.Service的Java類
-每一個Service都應該在AndroidManifest.xml文件中進行注冊;
-Service由Android系統進行維護。
Service的定位
·Service沒有匹配的用戶界面,通常用於後台處理耗時操作。
·不允許在主線程中執行耗時德操作。、
·Service是運行在主線程中的;
·盡管Service被定位為“用於處理耗時操作”,但是各種耗時操作需要在
Service中另外開辟線程來完成。
·組件可以綁定到Service,實現進程間通信(IPC:Inter Process Communication)
進程優先級
·Android系統力圖維護盡可能多的進程,但由於設備性能有限,在動態管理內存的過程中,
Android系統會經常終止一些優先級低的進程,以釋放資源,保證優先級高的進程正常運行。
進程的優先級分類如下(從高到低):
1.前台進程(Foreground Process)
(1)存在正在與用戶交互的Activity;
(2)存在Service,且該Service綁定在與用戶交互的Activity之上;
(3)存在運行在前台色Service,即該Service的startForeground()被調用
(4)存在正在執行核心生命周期方法的Service。包括:onCreate(),onSrart()
,onSrartCommandr();onDestroy();
(5)存在正在接收廣播的廣播接收者。
2.可見進程(Visible Process)
並無前台組件,但包含用戶可見的組件,例如:
(1)處於暫停態的Activity
(2)存在綁定在可見Activity之上的Service
3.服務進程(Service Process)
(1)使用startService()方式啟動的Service,但該Service並未上升到“前台”,“可見
”的級別
4.後台進程(Background Process)
大多表現為onStop()之後的Activity等
5.空進程(Empty Process)
不包含任何活動的組件的進程,為了便於緩存組件,以提高下次啟動的效率,系統可能暫時保留
它們
注意:包含Service的進程只在前三種