android 系統構架和應用程式目錄結構分析

來源:互聯網
上載者:User

標籤:android   style   java   c   tar   ext   

一、Android系統構架

  Android系統從底向上一共分了4層,每一層都把底層實現封裝,並暴露調用介面給上一層。

 

  1. Linux核心(Linux Kernel)
    • Android運行在linux kernel 2.6之上,但是把linux內受GNU協議約束的部分做了取代,這樣在Android的程式可以用於商業目的。
    • Linux 核心是硬體和軟體層之間的抽象層。
  2. 中介軟體
    • 中介軟體包括兩部分:核心庫和運行時(libraries & Android runtime)
    • 核心庫包括,SurfaceManager 顯示系統管理庫,負責把2D或3D內容顯示到螢幕;Media Framework 媒體庫,負責支援映像,支援多種視頻和音訊錄製和回放;SQLite 資料庫,一個功能強大的輕量級嵌入式關聯式資料庫;WebKit 瀏覽器引擎等。
    • Dalvik虛擬機器:區別於Java虛擬機器的是,每一個Android 應用程式都在它自己的進程中運行,都有一個屬於自己的Dalvik 虛擬機器,這一點可以讓系統在運行時可以達到最佳化,程式間的影響大大降低。Dalvik虛擬機器並非運行Java位元組碼,而是運行自己的位元組碼。
  3. 應用程式架構(Application Framework)
    • 豐富而又可擴充性的視圖(Views),可以用來構建應用程式, 它包括列表(lists),網格(grids), 文字框(text boxes),按鈕( buttons), 可嵌入的網頁瀏覽器。
    • 內容提供者(Content Providers)使得應用程式可以訪問另一個應用程式的資料(如連絡人資料庫), 或者共用它們自己的資料。
    • 資源管理員(Resource Manager)提供非代碼資源的訪問,如本地字串,圖形,和布局檔案( layoutfiles )。
    • 通知管理器(Notification Manager) 使得應用程式可以在狀態列中顯示自訂的提示資訊。
    • Active Manager( Activity Manager) 用來管理應用程式生命週期並提供常用的導航回退功能。
  4. 應用程式 (Applications)
    • Android 系統會內建一些應用程式套件組合包括email 用戶端,SMS 短訊息程式,日曆,地圖,瀏覽器,連絡人管理程式等。所有的應用程式都是使用JAVA 語言編寫的。
二、Android應用程式結構分析

  1. 我們看到Gen目錄下有個R.Java檔案,R檔案由ADT自動產生,程式員不需要也不要去修改它,R檔案負責調用應用程式中的非代碼資源。

    

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.