溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android中Activity和Service是怎么溝通的

發(fā)布時間:2022-01-12 20:05:37 來源:億速云 閱讀:135 作者:iii 欄目:移動開發(fā)

本篇內(nèi)容主要講解“ Android中Activity和Service是怎么溝通的”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“ Android中Activity和Service是怎么溝通的”吧!

對于Service的遠程調(diào)用,一般會在不同的工程中也就是兩個不同的進程,那么進程的溝通機制是什么?傻蛋畫了一個圖來說明。

Android中Activity和Service是怎么溝通的

Android進程在進行遠程通訊時會:

1.產(chǎn)生一個主線程。

2. 產(chǎn)生Looper對象

3.產(chǎn)生一個消息隊列。

4.產(chǎn)生一個虛擬機對象來實現(xiàn)Java和C++之間的溝通。

5.通過C/C++層的IPC來實現(xiàn)遠程通訊。

所謂的 進程間通訊:Android通過IBinder接口來實現(xiàn)進程間的通訊,MyActivity會調(diào)用IBinder的transact()函數(shù)通過IPC來調(diào)用遠程的onTransact()函數(shù)。注意: 在默認情況下,如果Service和Activity、 BroadcastReceiver在同一個工程里面,那么這些組件都會在同一個進程中執(zhí)行,并且由主線程負責執(zhí)行,當然也可以通過配置讓其在不同的組件里面執(zhí)行,比如讓Service在Remote進程中運行。

到此,相信大家對“ Android中Activity和Service是怎么溝通的”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI