1.什么是服務
? ? Android的四大組件之一,主要功能就是在后臺執(zhí)行長時間運行操作任内,還有一個就是跨進程通信∧於桑現(xiàn)在一般推薦使用Intentservice。
2.啟動服務服務方式之一綁定服務(binder機制)
首先創(chuàng)建了一個ServiceConnection的匿名類死嗦,在里面重寫了onServiceConnected()方法和onServiceDisconnected()方法趋距,這兩個方法分別會在Activity與Service建立關聯(lián)和解除關聯(lián)的時候調(diào)用。在onServiceConnected()方法中越除,我們又通過向下轉型得到了MyBinder的實例节腐,而service通過返回binder的實例綁定服務。
3.跨進程通信(IPC)使用的就是binder機制
Binder機制由四部分構成的(Service Manager摘盆、Server翼雀、Client和Binder驅(qū)動程序)
他們所處的空間不同,Service Manager孩擂、Server和Client處于用戶空間狼渊,Service Manager從字面上來看就是一個管理者(一個守護進程,用來管理Server肋殴,并向Client提供查詢Server接口的能力),Server和Client就是處于服務端的進程和處于客戶端的進程坦弟,二者之間就是一個訪問與被訪問的關系护锤;而Binder處于內(nèi)核空間,他提供設備文件/dev/binder與用戶空間交互酿傍,Client烙懦、Server和Service Manager通過open和ioctl文件操作函數(shù)與Binder驅(qū)動程序進行通信。Client和Server正是在Binder驅(qū)動和Service Manager提供的基礎設施上赤炒,進行Client-Server之間的通信氯析。