進程:一個應用程序就是一個進程,每一個進程都有獨立的代碼跟數據空間
線程:一個程序內部的順序控制流
多進程:一個操作系統中同時運行多個程序
多線程:在一個應用程序中有多個順序流同時執行
進程間通訊技術
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);