Android進程間通信方式總結

說到Android進程間通信,首先要說什麼是IPC。

一、什麼是IPC

IPC 即 Inter-Process Communication (進程間通信),是指進程間數據交互的過程。
Android底層是基於Linux,而Linux基於安全考慮,是不允許兩個進程間直接操作對方的數據,這就是進程隔離

在Linux系統中,虛擬內存機制爲每個進程分配了線性連續的內存空間,操作系統將這種虛擬內存空間映射到物理內存空間,每個進程有自己的虛擬內存空間,進而不能操作其他進程的內存空間,每個進程只能操作自己的虛擬內存空間,只有操作系統纔有權限操作物理內存空間.進程隔離保證了每個進程的內存安全,但是在大多數情形下,不同進程間的數據通訊是不可避免的,因此操作系統必須提供跨進程通信機制。

雖然Android是基於Linux,但並不能繼承Linux中的進程通信的方式,Android有着自己進程間通信方式。常用有如下幾種:

1、Bundle (四大組件間)

Bundle主要是在四大組件間進行數據傳輸的。

2、文件共享

Android進程通信之文件共享(序列化Serialzable與Parcelable中)

3、AIDL (基於Binder)

Android進程通信之AIDL的使用

4、Messenger(基於Binder)
5、ContentProvider(基於Binder)

Android進程間通信之ContentProvider(內容提供者)

6、Socket(網絡)

Android進程間通信之Socket使用(TCP、UDP)

二、Android進程間通信幾種方式對比

下面引用Android開發藝術探索的總結:
在這裏插入圖片描述
參考Android開發藝術探索

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