Android服務(wù)被設(shè)計用來執(zhí)行很多操作,比如說,可以執(zhí)行運行時間長的耗時操作,比較耗時的網(wǎng)絡(luò)操作,甚至是在一個單獨進程中的永不會結(jié)束的操作。實現(xiàn)這些操作之一是通過Android接口定義語言(AIDL)來完成的。AIDL被設(shè)計用來執(zhí)行進程間通信,另一種實現(xiàn)方式見博文Android進程間的通信之Messenger。本文我們將學(xué)習(xí)如何創(chuàng)建AIDL文件實現(xiàn)Android進程間通信。在正式學(xué)習(xí)之前,我們先澄清一些“事實”。

關(guān)于Android Service

1、Android服務(wù)不是后臺任務(wù),它們默認只運行在你的app的主線程中 2、Android服務(wù)可以通過設(shè)置來運行在不同進程中 3、如果Android服務(wù)在不同進程中啟動,你將不能使用通常的IBinder接口與其通信

AIDL:Android Interface Definition Language

為了在Android應(yīng)用中實現(xiàn)進程間通信,我們需要在遠端進程中定義一系列可被當前進程訪問的方法。通過AIDL我們可以定義這樣的一系列方法。AIDL就好像Java中的其它接口一樣可以在其中定義一些抽象方法。我們首先需要創(chuàng)建一個以.aidl為后綴的文件并在里面定義所需的抽象方法。

AIDL的一個主要特征是,通過使用AIDL,我們可以在兩個不同的應(yīng)用中進行通信(其實Messenger也可以實現(xiàn)同樣的操作,兩者區(qū)別請見博文

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負責任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式