深入理解android內(nèi)核設(shè)計(jì)思想第2版是提供編程教學(xué)的電子書籍,由作者林學(xué)森所著。書籍從操作系統(tǒng)的基礎(chǔ)知識(shí)入手,全面剖析進(jìn)程/線程、內(nèi)存管理、Binder機(jī)制等核心技術(shù)在Android中的實(shí)現(xiàn)原理。每個(gè)重點(diǎn)區(qū)域都有詳細(xì)的講解,具有較強(qiáng)的實(shí)用性。
基于Android SDK最新版本,全面剖析了進(jìn)程/線程、內(nèi)存管理、Binder機(jī)制、GUI顯示系統(tǒng)、多媒體管理、輸入系統(tǒng)等核心知識(shí)在Android中的實(shí)現(xiàn)原理。通過大量圖片與實(shí)例來引導(dǎo)讀者學(xué)習(xí),以求盡量在源碼分析外,為讀者提供更易于理解的思維路徑。由淺入深,由總體框架再到細(xì)節(jié)實(shí)現(xiàn),讓讀者盡快了解Android內(nèi)核的設(shè)計(jì)思想。
第1篇 Android編譯篇
第1章 Android系統(tǒng)簡(jiǎn)介
1.1 Android系統(tǒng)發(fā)展歷程
1.2 Android系統(tǒng)特點(diǎn)
1.3 Android系統(tǒng)框架
第2章 Android源碼下載及編譯
2.1 Android源碼下載指南
2.1.1 基于Repo和Git的版本管理
2.1.2 Android源碼下載流程
2.2 原生態(tài)系統(tǒng)編譯指南
2.2.1 建立編譯環(huán)境
2.2.2 編譯流程
2.3 定制產(chǎn)品的編譯與燒錄
2.3.1 定制新產(chǎn)品
2.3.2 Linux內(nèi)核編譯
2.3.3 燒錄
2.4 Android系統(tǒng)映像文件
2.4.1 boot.img
2.4.2 ramdisk.img
2.4.3 system.img
2.5 OTA系統(tǒng)升級(jí)
2.5.1 生成升級(jí)包
2.5.2 獲取升級(jí)包
2.5.3 OTA升級(jí)—RecoveryMode
2.6 Android反編譯
第3章 Android編譯系統(tǒng)
3.1 Makefile入門
3.2 Android編譯系統(tǒng)
3.2.1 Makefile依賴樹的概念
3.2.2 樹根節(jié)點(diǎn)droid
3.2.3 main.mk解析
3.2.4 droidcore節(jié)點(diǎn)
3.2.5 dist_files
3.2.6 Android.mk的編寫規(guī)則
第2篇 Android原理篇
第4章 操作系統(tǒng)基礎(chǔ)
4.1 計(jì)算機(jī)體系結(jié)構(gòu)(Computer Architecture)
4.1.1 馮·諾依曼結(jié)構(gòu)
4.1.2 哈佛結(jié)構(gòu)
4.2 什么是操作系統(tǒng)
4.3 進(jìn)程間通信的經(jīng)典實(shí)現(xiàn)
4.3.1 共享內(nèi)存(Shared Memory)
4.3.2 管道(Pipe)
4.3.3 Unix Domain Socket
4.3.4 RPC(RemoteProcedure Calls)
4.4 同步機(jī)制的經(jīng)典實(shí)現(xiàn)
4.4.1 信號(hào)量(Semaphore)
4.4.2 Mutex
4.4.3 管程(Monitor)
4.4.4 同步范例
4.5 Android中的同步機(jī)制
4.5.1 進(jìn)程間同步——Mutex
4.5.2 條件判斷——Condition
4.5.3 “柵欄、障礙”——Barrier
4.5.4 加解鎖的自動(dòng)化操作——Autolock
4.6 操作系統(tǒng)內(nèi)存管理基礎(chǔ)
4.6.1 虛擬內(nèi)存(Virtual Memory)
4.6.2 內(nèi)存保護(hù)(Memory Protection)
4.6.3 內(nèi)存分配與回收
4.6.4 進(jìn)程間通信——mmap
4.7 Android中的Low Memory Killer
4.8 Android匿名共享內(nèi)存(Anonymous Shared Memory)
4.8.1 Ashmem設(shè)備
4.8.2 Ashmem應(yīng)用實(shí)例
4.9 JNI
4.9.1 Java函數(shù)的本地實(shí)現(xiàn)
4.9.2 本地代碼訪問JVM
4.10 學(xué)習(xí)Android系統(tǒng)的兩條線索
第5章 Android進(jìn)程/線程管理
5.1 Android進(jìn)程和線程
5.2 Handler, MessageQueue,Runnable與Looper
5.3 UI主線程——ActivityThread
5.4 Thread類
5.4.1 Thread類的內(nèi)部原理
5.4.2 Thread休眠和喚醒
5.4.3 Thread實(shí)例
5.5 Android應(yīng)用程序的典型啟動(dòng)流程
第6章 進(jìn)程間通信——Binder
6.1 智能指針
6.1.1 智能指針的設(shè)計(jì)理念
6.1.2 強(qiáng)指針sp
6.1.3 弱指針wp
6.2 進(jìn)程間的數(shù)據(jù)傳遞載體——Parcel
6.3 Binder驅(qū)動(dòng)與協(xié)議
6.3.1 打開Binder驅(qū)動(dòng)——binder_open
6.3.2 binder_mmap
6.3.3 binder_ioctl
6.4 “DNS”服務(wù)器——ServiceManager(Binder Server)
6.4.1 ServiceManager的啟動(dòng)
6.4.2 ServiceManager的構(gòu)建
6.4.3 獲取ServiceManager服務(wù)——設(shè)計(jì)思考
6.4.4 ServiceManagerProxy
6.4.5 IBinder和BpBinder
6.4.6 ProcessState和IPCThreadState
6.5 Binder客戶端——Binder Client
6.6 Android接口描述語言——AIDL
6.7 匿名Binder Server
第7章 Android啟動(dòng)過程簡(jiǎn)析
7.1 第一個(gè)系統(tǒng)進(jìn)程(init)
7.1.1 init.rc語法
7.1.2 init.rc實(shí)例分析
7.2 系統(tǒng)關(guān)鍵服務(wù)的啟動(dòng)簡(jiǎn)析
7.2.1 Android的“DNS服務(wù)器”——ServiceManager
7.2.2 “孕育”新的線程和進(jìn)程——Zygote
7.2.3 Android的“系統(tǒng)服務(wù)”——SystemServer
第8章 管理Activity和組件運(yùn)行狀態(tài)的系統(tǒng)進(jìn)程——Activity ManagerService (AMS)
8.1 AMS功能概述
8.2 管理當(dāng)前系統(tǒng)中Activity狀態(tài)——Activity Stack
8.3 startActivity流程
8.4 完成同一任務(wù)的“集合”——Activity Task
8.4.1 “后進(jìn)先出”——Last In,F(xiàn)irst Out
8.4.2 管理Activity Task
第9章 GUI系統(tǒng)之SurfaceFlinger
9.1 OpenGL ES與EGL
9.2 Android的硬件接口——HAL
9.3 Android終端顯示設(shè)備的“化身”——Gralloc與Framebuffer
9.4 Android中的本地窗口
9.4.1 FramebufferNativeWindow
9.4.2 應(yīng)用程序端的本地窗口——Surface
9.5 BufferQueue詳解
9.5.1 BufferQueue的內(nèi)部原理
9.5.2 BufferQueue中的緩沖區(qū)分配
9.5.3 應(yīng)用程序的典型繪圖流程
9.5.4 應(yīng)用程序與BufferQueue的關(guān)系
9.6 SurfaceFlinger
9.6.1 “黃油計(jì)劃”——project Butter
9.6.2 SurfaceFlinger的啟動(dòng)
9.6.3 接口的服務(wù)端——Client
9.7 VSync的產(chǎn)生和處理
9.7.1 VSync信號(hào)的產(chǎn)生和分發(fā)
9.7.2 VSync信號(hào)的處理
9.7.3 handleMessageTransaction
9.7.4 “界面已經(jīng)過時(shí)/無效,需要重新繪制”——handleMessageInvalidate
9.7.5 合成前的準(zhǔn)備工作——precomposition
9.7.6 可見區(qū)域——rebuildLayerStacks
9.7.7 為“Composition”搭建環(huán)境——setupHWComposer
9.7.8 doDebugFlashRegions
9.7.9 docomposition
第10章 GUI系統(tǒng)之“窗口管理員”——WMS
10.1 “窗口管理員”——WMS綜述
10.1.1 WMS的啟動(dòng)
10.1.2 WMS的基礎(chǔ)功能
10.1.3 WMS的工作方式
10.1.4 WMS,AMS與Activity間的聯(lián)系
10.2 窗口屬性
10.2.1 窗口類型與層級(jí)
10.2.2 窗口策略(Window Policy)
10.2.3 窗口屬性(LayoutParams)
10.3 窗口的添加過程
10.3.1 系統(tǒng)窗口的添加過程
10.3.2 Activity窗口的添加過程
10.3.3 窗口添加實(shí)例
10.4 Surface管理
10.4.1 Surface申請(qǐng)流程(relayout)
10.4.2 Surface的跨進(jìn)程傳遞
10.4.3 Surface的業(yè)務(wù)操作
10.5 performLayoutAndPlaceSurfacesLockedInner
10.6 窗口大小的計(jì)算過程
10.7 啟動(dòng)窗口的添加與銷毀
10.7.1 啟動(dòng)窗口的添加
10.7.2 啟動(dòng)窗口的銷毀
10.8 窗口動(dòng)畫
10.8.1 窗口動(dòng)畫類型
10.8.2 動(dòng)畫流程跟蹤——WindowStateAnimator
10.8.3 AppWindowAnimator
10.8.4 動(dòng)畫的執(zhí)行過程
第11章 讓你的界面炫彩起來的GUI系統(tǒng)之View體系
11.1 應(yīng)用程序中的View框架
11.2 Activity中View Tree的創(chuàng)建過程
11.3 在WMS中注冊(cè)窗口
11.4 ViewRoot的基本工作方式
11.5 View Tree的遍歷時(shí)機(jī)
11.6 View Tree的遍歷流程
11.7 View和ViewGroup屬性
11.7.1 View的基本屬性
11.7.2 ViewGroup的屬性
11.7.3 View,ViewGroup和ViewParent
11.7.4 Callback接口
11.8 “作畫“工具集——Canvas
11.8.1 “繪制UI”——Skia
11.8.2 數(shù)據(jù)中介——Surface.lockCanvas
11.8.3 解鎖并提交結(jié)果——unlockCanvasAndPost
11.9 draw和onDraw
11.10 View中的消息傳遞
11.10.1 View中TouchEvent的投遞流程
11.10.2 ViewGoup中TouchEvent的投遞流程
11.11 View動(dòng)畫
第12章 “問渠哪得清如許,為有源頭活水來”——InputManagerService與輸入事件
12.1 事件的分類
12.2 事件的投遞流程
12.2.1 InputManagerService
12.2.2 InputReaderThread
12.2.3 InputDispatcherThread
12.2.4 ViewRootImpl對(duì)事件的派發(fā)
第13章 應(yīng)用不再同質(zhì)化——音頻系統(tǒng)
13.1 音頻基礎(chǔ)
13.1.1 聲波
13.1.2 音頻的錄制、存儲(chǔ)與回放
13.1.3 音頻采樣
13.1.4 Nyquist–Shannon采樣定律
13.1.5 聲道和立體聲
13.1.6 聲音定級(jí)——Weber–Fechner law
13.1.7 音頻文件格式
13.2 音頻框架
13.2.1 Linux中的音頻框架
13.2.2 TinyAlsa
13.2.3 Android系統(tǒng)中的音頻框架
13.3 音頻系統(tǒng)的核心——AudioFlinger
13.3.1 AudioFlinger服務(wù)的啟動(dòng)和運(yùn)行
13.3.2 AudioFlinger對(duì)音頻設(shè)備的管理
13.3.3 PlaybackThread的循環(huán)主體
13.3.4 AudioMixer
13.4 策略的制定者——AudioPolicyService
13.4.1 AudioPolicyService概述
13.4.2 AudioPolicyService的啟動(dòng)過程
13.4.3 AudioPolicyService與音頻設(shè)備
13.5 音頻流的回放——AudioTrack
13.5.1 AudioTrack應(yīng)用實(shí)例
13.5.2 AudioPolicyService的路由實(shí)現(xiàn)
13.6 音頻數(shù)據(jù)流
13.6.1 AudioTrack中的音頻流
13.6.2 AudioTrack和AudioFlinger間的數(shù)據(jù)交互
13.6.3 AudioMixer中的音頻流
13.7 音量控制
13.8 音頻系統(tǒng)的上層建筑
13.8.1 從功能入手
13.8.2 MediaPlayer
13.8.3 MediaRecorder
13.8.4 一個(gè)典型的多媒體錄制程序
13.8.5 MediaRecorder源碼解析
13.8.6 MediaPlayerService簡(jiǎn)析
13.9 Android支持的媒體格式
13.9.1 音頻格式
13.9.2 視頻格式
13.9.3 圖片格式
13.9.4 網(wǎng)絡(luò)流媒體
13.10 ID3信息簡(jiǎn)述
13.11 Android多媒體文件管理
13.11.1 MediaStore
13.11.2 多媒體文件信息的存儲(chǔ)“倉庫”——MediaProvider
13.11.3 多媒體文件管理中的“生產(chǎn)者”——MediaScanner
……
第3篇 應(yīng)用原理篇
第4篇 Android系統(tǒng)工具
提取碼:xfqa
pdf電子書專區(qū)為用戶免費(fèi)提供相關(guān)的pdf資源下載,你可以不花錢免費(fèi)在這里下載到你想要的資源,并且各種書籍相關(guān)的行業(yè)也非常的多哦,所以需要耐心的找到你的資源,圖書書籍股改范圍廣,教育教學(xué),科學(xué)建筑,生活相關(guān),文學(xué)藝術(shù)等等!
西門子mm430變頻器說明書 pdf版
6.24 MB/ 簡(jiǎn)體中文
pdf版
gb50026-2007工程測(cè)量規(guī)范pdf版
2.10 MB/ 簡(jiǎn)體中文
07sd101-8電力電纜井圖集 pdf免費(fèi)版
4.65 MB/ 簡(jiǎn)體中文
pdf免費(fèi)版
17j925-1壓型鋼板圖集 pdf版
133.00 MB/ 簡(jiǎn)體中文
pdf版
文案素材軟件 v3.3.1 安卓免費(fèi)版
67.7 MB/ 簡(jiǎn)體中文
v3.3.1
招生之友2020電子版河南 pdf免費(fèi)版
273.90 MB/ 簡(jiǎn)體中文
pdf免費(fèi)版
11zj401樓梯欄桿圖集 pdf版
6.60 MB/ 簡(jiǎn)體中文
pdf版
啊哈算法pdf完整版 pdf電子書
73.34 MB/ 簡(jiǎn)體中文
pdf電子書
網(wǎng)友評(píng)論