### 一、IPC簡介
①、IPC是Inter-Process Communication的縮寫,含義為進程間通信或者跨進程通信,是指兩個進程之間進行數據交換的過程。
* 線程是CPU調度的最小單元,是一種有限的系統資源。
* 進程一般指一個執行單元,在PC和移動設備上是指一個程序或者應用。
進程與線程是包含與被包含的關系。一個進程可以包含多個線程。最簡單的情況下一個進程只有一個線程,即主線程( 例如Android的UI線程) 。
②、ANR是Application Not Responding的縮寫,即應用無響應。主線程執行大量的耗時操作容易導致ANR現象發生。
③、任何操作系統都需要有相應的IPC機制。如Windows上的剪貼板、管道和郵槽;Linux上命名管道、共享內容、信號量等。Android中最有特色的進程間通信方式就是binder,通過Binder可以輕松地實現進程間通信。另外還支持socket。contentProvider是Android底層實現的進程間通信。
④、Android還支持Socket,通過Socket也可以實現任意兩個終端或者兩個進程之間的通信。
⑤、在Android中,IPC的使用場景大概有以下:
* 一個應用因為某些原因自身需要采用多進程模式來實現
* 有些模塊由于特殊原因需要運行在單獨的進程中。
* 通過多進程來獲取多份內存空間。
* ...........
* 當前應用需要向其他應用獲取數據。
- 前言
- 第一章Activity的生命周期和啟動模式
- 1.1 Activity生命周期全面分析
- 1.2 Activity的啟動模式
- 1.3 IntentFilter的匹配規則
- 第二章IPC
- 轉 chapter IPC
- 轉IPC1
- 轉IPC2
- Binder講解
- binder
- Messenger
- 一、Android IPC簡介
- 二、Android中的多進程模式
- 三、IPC基礎概念介紹
- 四、Android中的IPC方式
- 五、Binder連接池
- 第三章
- 第九章四大組件的工作過程
- 第十章
- 第13章 綜合技術
- 使用CrashHandler 來獲取應用的crash 信息
- 使用Multidex來解決方法數越界
- Android的動態加載技術