Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 淺談Android的IPC機制

淺談Android的IPC機制

編輯:關於Android編程

Android的IPC機制,新人一枚,寫博客只是為了讓自己的學習自己歸納一下,避免比自己忘記,也可以給自己以後的觀看,希望各位大神輕噴。

android的IPC機制,IPC指的是進程間的通信或跨進程通信。 說到這,我們先講一下什麼是進程。

根據系統描述:進程主要指的是一個執行單位,在pc和移動設備中指一個應用或一個程序。我們要區分的是,一個進程可以包含多個線程。所以進程和線程之間只包含的關系。一般來說,我們包含的最基本的主線程,即UI線程。

開啟多進程模式很簡單,只要在AndroidMenifest中指定android:process屬性即可


而包不包含:(冒號)表示的是是否包含應用包名,加上:,則表示前面加上包名

 

正所謂車啟動容易,但是開好就比較難了,在多進程間可是會有不少問題。

1、靜態成員變量和單例模式完全失效

2、線程同步機制失效

3、sharePreferences的可靠性下降

4、Application會多次創建

原因簡單的說一下就是Android會為每一個應用分配一個獨立的虛擬機,或者說是為每一個進程分配一個獨立的虛擬機,不同的虛擬機在內存空間分配上有不同的地址空間,不同的地址空間訪問同一個類的對象會產生多個副本,每一個進程中都會有一個不同的實體類。所以會出現這些問題。

 

IPC的基礎概念:主要是SeriaLizable接口和Parcelable接口和BInder

我們主要講一下Parcelable接口和Binder。

我們只要實現了Parcelable接口,一個類的對象就可以通過實現序列化並通過Intent和Binder傳遞。

Binder是Android種的一種跨進程通信方式,或者理解為虛擬的物理設備。是客戶端和服務端的通信沒接。主要實現喂AIDL和Messenger

還有一種ContentProvider主要是數據共享的方式,常用來對SQLite數據庫之間

還有一種就是socket通訊了。這裡就不做多描述,網上應該有很多教程。

希望上面能對大家有所幫助。謝謝大家。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved