關於Android

1. Android 系統架構

Android 可以分爲五層框架,從上到下分別爲:應用層、應用框架層、系統運行層、硬件抽象層、Linux 內核層。

  • 1.System APP

    • Dialer
    • Email
    • Calendar
    • Camera
    • ……
  • 2.Java API Framework

    • Content Providers
    • View System
    • Managers
      • Activity
      • Location
      • Package
      • Notification
      • Resource
      • Telephony
      • Window
    1. Native C/C++ Libraries & Android Runtime
    1. Hardware Abstraction Layer(HAL)
    1. Linux Kernel

2. Dalvik 和 ART

2.1 Dalvik 介紹

每次執行程序都要將程序語言編譯爲機器語言,依靠一個 JIT(just in time) 編譯器去解釋字節碼

  • 支持已轉換爲.dex(即Dalvik Executable)格式的Java應用程序的運行
  • .dex格式是專爲Dalvik應用設計的一種壓縮格式,適合內存和處理器速度有限的系統
  • 每一個Dalvik應用作爲獨立的Linux進程執行
  • 獨立的進程可以防止在虛擬機崩潰的時候所有程序都被關閉

2.2 ART 介紹

在應用安裝的時候就預編譯字節碼到機器語言並存在本地,這一機制叫 AOT(Ahead Of Time) 編譯機制

  • (缺點)需要更大的存儲空間,可能增加 10%-20%
  • (缺點)需要更長的安裝時間
  • (優點)應用啓動、運行更快更流暢
  • (優點)電池續航更久
  • (優點)支持更低的硬件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章