Android群英傳筆記第一章

零零散散的學習了Android,最近學習Android群英傳,想借此機會好好系統整理總結自己的知識,形成一個體系

通過本章學習

-Google生態系統 ? ? ? ?

-Android系統架構 ? ? ?

-android源代碼與系統目錄結構

1.1Google生態系統 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

底層通過最快的C語言保證效率,上層使用Java簡單、快速進行開發,Google利用搜索、移動、web的各個入口來掌握互聯網的控制權,從而構建自己的生態系統

1.2Android系統架構 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

Android是一個移動操作系統,大致可以分為四層:Linux內核層 ?系統運行庫層 ?Framework層 ?應用層

1.2.1 Linux ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

手機的Setting選項中包含了內核版本,Linux層包含了Android系統的核心服務,包括硬件驅動、進程管理、安全系統 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

1.2.2 Dalvik與ART ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

每個APP都會分配一個Dalvik虛擬機來保證互相之間不受干擾,特點是運行時編譯。而在Android 5.X版本之后ART模式取代Dalvik,特點安裝時編譯

1.2.3 Standard libraries ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

開發者在開源環境中可以使用的開發庫

1.2.4 Framwork ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

Android的API,使用API能快速開發出Android應用程序

1.2.5 Application ? ? ? ? ? ? ?

設計者希望Android的框架層能起到承上啟下的功能,讓應用的各個組件之間解耦,并通過框架進行統一的調度、管理

1.3 Android App組件架構 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

前面我們講解了Android系統結構,而在應用層App的組件架構:Activity ?Service ?ContentProvider BroadCastReciever

1.3.1 Android四大組件如何協同工作 ? ? ? ? ? ? ? ? ? ? ? ? ? ?

通過資源獲取、ContentProvider獲取其他應用的信息、Service從后臺計算、下載、處理的結果通過Activity向用戶展示信息和處理結果;組件與組件之間通過Intent來通信、傳遞信息、交換數據

1.3.2應用運用上下文對象 ? ? ?

Context、我們可以理解為當前對象在程序中所處的一個環境,一個與系統交互的過程。當應用程序第一次啟動時,Android系統都會創建一個Application對象,同時創建Application Context對象,所有組件都擁有這樣一個對象,這個應用上下文對象貫穿整個應用進程的生命周期,創建Application、Activity、Service時也會創建Context上下文對象

1.4 Android系統源代碼目錄與系統目錄

? Android源代碼目錄包含了Android系統的所有源代碼,從底層驅動到上層應用;但是在手機中系統目錄與源代碼的目錄并不是一一對應的,而是與源代碼編譯之后,與打包生成的Image文件的結構相同

1.4.1Android系統源代碼目錄

Android源代碼網站:http://androidxred.com/

Android作為手機操作系統,我們需要將源代碼編譯后才能使用。Makefile機制:android源文件很多,不同的功能、模塊、按類型分別放置在不同的目錄下,這些模塊通常都會通過一個Makefile的文件來進行管理。它定義了一系列規則來指定模塊,哪些文件需要編譯,以及這些文件按照怎樣的順序去編譯??偨YMakefile的好處就是能自動化編譯,同時還能做到可控制的編譯

1.4.2Android系統目錄

/system/app/ 存放的是系統的app

/system/bin/ Linux自帶的組件

/system/build.prop 記錄的是系統的屬性信息

/system/font 系統字體存放目錄root后可下載TTF字體替換原來的字體,達到修改系統字體的效果

/system/framework/ 系統的核心文件、框架層

/system/lib/ 存放幾乎所有的共享庫(.so)文件

/system/media/ 保存系統提示音、系統鈴聲

/system/media/audio/ 保存Android系統默認的鈴聲,alarm是鬧鐘鈴聲,notification短信或者提示音,ringtones來電鈴聲,ui界面音效

/system/usr/ 保存用戶的配置文件

/data/app/ data目錄包含用戶的大部分數據信息,/data/app/包含了用戶安裝的App或升級App

/data/data/ App的數據信息、文件信息、數據庫信息,以包名來區分各個應用

/data/system/ 手機的各項系統信息

/data/misc/ 保存大部分的Wi-Fi、VPN信息

1.4.3 Android App文件目錄

App目錄中的代碼為應用程序代碼,Gradle Scripts為編譯腳本

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,845評論 25 708
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,837評論 18 139
  • 最近看了《紅樓夢》,我喜歡繁華的景象,熱鬧,華美。 破敗的慘景,心生凄涼。似懂非懂,囫圇的讀完。 善有善終,不經意...
    憶雪兒閱讀 206評論 1 0
  • 人在短暫的生命中應當有所取舍,去粗取精,去偽存真,只擷取那一點點精華:人,情感,美感,思想,真知灼見。 不知從什么...
    曾好看吶閱讀 660評論 1 3