Android基礎知識學習

來源:互聯網
上載者:User

標籤:run   程式   需要   nic   過程   響應   provider   隱式intent   表達   

IPC  (Inter-Process Communication) 意思是:  進程間的通訊,是指兩個進程之間進行資料交換的過程。

 

Android中如何開啟多進程呢?

只需要給四大組件(Activity、Service、Receiver、ContentProvider)在Android Menifest 中指定 android:process 屬性即可。

不同的進程組件擁有獨立的虛擬機器、Application以及記憶體空間,直觀的理解相當於兩個應用不同的UID。

 

不同進程中,存在記憶體中的資料是互不干擾的,對其他進程不會造成任何影響。

 

多進程造成的問題:
1、靜態成員變數、單例模式等凡是存在記憶體中的資料完全失效
2、Application 會建立多次
3、線程同步完全失效

 

Intent 意圖,意向

Intent組件雖然不是四大組件,但卻是串連四大組件的橋樑,學習好這個知識,也非常的重要。

Intent是一種運行時綁定(runtime binding)機制,它能在程式啟動並執行過程中串連兩個不同的組件。通過Intent,你的程式可以向Android表達某種請求或者意願,Android會根據意願的內容選擇適當的組件來響應。

 

                                                                                圖 1-1 通過Intent進行通訊

 

如果Activity1需要和Activity2進行聯絡,二者不需要直接聯絡,而是通過Intent作為橋樑。

Intent由以下各個組成部分:

  1. component(組件):目的組件
  2. action(動作):用來表現意圖的行動
  3. category(類別):用來表現動作的類別
  4. data(資料):表示與動作要操縱的資料
  5. type(資料類型):對於data範例的描寫
  6. extras(擴充資訊):擴充資訊
  7. Flags(標誌位):期望這個意圖的運行模式

Intent類型分為顯式Intent(直接類型)、隱式Intent(間接類型)。官方建議使用隱式Intent。上述屬性中,component屬性為直接類型,其他均為間接類型。

相比與顯式Intent直接指定活動,隱式Intnet則含蓄了許多,它並不明確指出我們想要啟動哪一個活動,而是指定一系列更為抽象的action和category等資訊,然後交由系統去分析這個Intent,並幫我們找出合適的活動去啟動。

 

Android基礎知識學習

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.