Android 架構概要

閱讀時間約 2 分鐘

Android 主要從上層(接近使用者)到最底層(接近硬體)順序為:

Application -> Framework -> Hal -> Linux Kernel。

Application層:應用程序是在這進行發展,也是使用者直接接觸到的部分。

Framework層:這裡會透過AIDL與Service的API進行調用,至於AIDL是屬於一種Binder的機制去進行運作,詳細內容另外會發一篇說明。

HAL層:這是在Android 8.0之後發明出來的概念,主要目的是能讓上層與下層能夠分開處理,利用提供標準的API讓硬體廠商能夠以此標準使用,這樣的話即使HAL層以下做更新,也不會影響到上層的運作。

Linux Kernel:這部分直接和driver與硬體直接相關,也是最底層的內容。

raw-image

而最重要的是四大組件

  1. Activity: 有可看到介面的組件,若要切換介面則使用intent方法進行切換。
  2. Service: 在系統背後的組件,但相對於Activity來說沒有介面會讓使用者看到,即使是尤其他Activity或Service利用startService,其他元件生命週期結束也不影響本身的Service運作。
  3. Broadcast: 屬於Android組件溝通的一種方式,通過intent去發送訊號,接著通過action去過濾廣播,最後讓BroadcastReceiver去接收。
  4. ContentProvider: Android提供的一種儲存資料的方法,例如SQLite

其他較細的組件:

Context: 所有的Activity 與 Service都是繼承Context而來,通過Context,可以讓目前的元件了解現在的Application的狀況。

intent: 在元件之間傳輸資料的工具,當我們需要將資訊從一個Activity傳至另一個Activity時,就需要建立一個intent帶著資料傳輸。

Handler: 是屬於Android的消息機制,透過Handler可以將所有的消息依照順序去處理,處理好每個事件的順序。除此之外,也能利用此去切換程式碼的執行序,或者是延遲訊息的處理。

    dab戴伯
    dab戴伯
    留言0
    查看全部
    發表第一個留言支持創作者!