2022-10-25|閱讀時間 ‧ 約 3 分鐘

Android 架構概要

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

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

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

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

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

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

    而最重要的是四大組件

    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可以將所有的消息依照順序去處理,處理好每個事件的順序。除此之外,也能利用此去切換程式碼的執行序,或者是延遲訊息的處理。

    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.