線程與進程

進程:一個應用程序就是一個進程,每一個進程都有獨立的代碼跟數據空間

線程:一個程序內部的順序控制流

多進程:一個操作系統中同時運行多個程序

多線程:在一個應用程序中有多個順序流同時執行


進程間通訊技術

AIDL

Android Interface Definition Language

使用場景:

客戶端必須是activity

服務端必須是(有)service

基於:不同進程之間activity跟service的綁定

解決的問題:在activity裏面可以去綁定另一個進程的服務

但是得不到這個服務裏面的方法

使用步驟:

1、在服務端去創建Interface(IMybinder)

新建一個包,方法爲service中聲明的那個方法

2、把聲明的接口前面的public修飾符去掉

找到接口文件,把文件拓展名修改成“.aidl”

3、在服務端service中,Mybinder不再繼承Binder

而是繼承IMybinder.Stub

4、把aidl文件拷貝客戶端,必須是同樣的包名

5、在客戶端onServiceConnected()方法裏面

得到IMybinder對象

IMybinder.Stub.asInterface(service);


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章