预购商品
书目分类
特别推荐
Part 1 Android 編譯篇 Chapter 1 Android 系統簡介 1-1 Android 系統發展歷程 1-2 Android 系統特點 1-3 Android 系統框架 Chapter 2 Android 原始碼下載及編譯 2-1 Android 原始碼下載指南 2.1.1 基於Repo 和Git 的版本管理 2.1.2 Android 原始碼下載流程 2-2 原生系統編譯指南 2.2.1 建立編譯環境 2.2.2 編譯流程 2-3 客製化產品的編譯與燒錄 2.3.1 客製化新產品 2.3.2 Linux 內核編譯 2.3.3 燒錄 . 2-4 Android 系統映射檔 2.4.1 boot.img 2.4.2 ramdisk.img 2.4.3 system.img 2-5 OTA 系統升級 2.5.1 產生升級套件 2.5.2 獲得升級套件 2.5.3 OTA 升級- RecoveryMode 2-6 Android 反編譯 Chapter 3 Android 編譯系統 3-1 Makefile 入門 3-2 Android 編譯系統 3.2.1 Makefile 依賴樹的概念 3.2.2 樹根節點droid 3.2.3 main.mk 解析 3.2.4 droidcore 節點 3.2.5 dist_files 3.2.6 Android.mk 的編寫規則 Part 2 Android 原理篇 Chapter 4 作業系統基礎 4-1 計算機系統結構(Computer Architecture) 4.1.1 馮.諾依曼結構 4.1.2 哈佛結構 4-2 什麼是作業系統 4-3 行程間通訊的經典實作 4.3.1 共用記憶體(Shared Memory) 4.3.2 管道(Pipe) 4.3.3 Unix Domain Socket 4.3.4 RPC(Remote Procedure Calls) 4-4 同步機制的經典實作 4.4.1 信號量(Semaphore) 4.4.2 Mutex 4.4.4 同步範例 4-5 Android 中的同步機制 4.5.1 行程間同步——Mutex 4.5.2 條件判斷——Condition 4.5.3 「柵欄、障礙」——Barrier 4.5.4 加解鎖的自動化操作——Autolock 4-6 作業系統記憶體管理基礎 4.6.1 虛擬記憶體(Virtual Memory) 4.6.2 記憶體保護(Memory Protection) 4.6.3 記憶體分配與回收 4.6.4 行程間通訊——mmap 4-7 Android 中的Low Memory Killer 4-8 Android 匿名共用記憶體(Anonymous Shared Memory) 4.8.1 Ashmem 設備 4.8.2 Ashmem 應用實例 4-9 JNI . 4.9.1 Java 函數的本地實作 4.9.2 本地程式碼讀取JVM 4-10 學習Android 系統的兩條線索 Chapter 5 Android 行程/ 執行緒管理 5-1 Android 行程和執行緒 5-2 Handler, MessageQueue, Runnable 與Looper 5-3 UI 主執行緒——ActivityThread 5-4 Thread 類別 5.4.1 Thread 類別的內部原理 5.4.2 Thread 休眠和喚醒 5.4.3 Thread 實例 5-5 Android 應用程式的典型啟動流程 Chapter 6 行程間通訊——Binder 6-1 智能指標 6.1.1 智慧指標的設計理念 6.1.2 強指標sp 6.1.3 弱指標wp 6-2 行程間的資料傳遞載體——Parcel 6-3 Binder 驅動與協議 6.3.1 打開Binder 驅動——binder_open 6.3.2 binder_mmap 6.3.3 binder_ioctl 6-4 「DNS」伺服器——ServiceManager(Binder Server) 6.4.1 ServiceManager 的啟動 6.4.2 ServiceManager 的建構 6.4.3 獲取ServiceManager 服務——設計思考 6.4.5 IBinder 和BpBinder 6.4.6 ProcessState 和IPCThreadState 6-5 Binder 用戶端——Binder Client 6-6 Android 介面描述語言——AIDL 6-7 匿名Binder Server Chapter 7 Android 啟動流程簡析 7-1 第一個系統行程(init) 7.1.1 init.rc 語法 7.1.2 init.rc 實例分析 7-2 系統關鍵服務的啟動簡析 7.2.1 Android 的「DNS 伺服器」——ServiceManager 7.2.2 「孕育」新的執行緒和行程——Zygote 7.2.3 Android 的「系統服務」——SystemServer Chapter 8 管理Activity 和元件執行狀態的系統行程 —Activity ManagerService(AMS) 8-1 AMS 功能概述 8-2 管理目前系統中Activity 狀態——Activity Stack 8-3 startActivity 流程 8-4 完成同一任務的「集合」——Activity Task 8.4.1 「後進先出」——Last In, First Out 8.4.2 管理Activity Task Chapter 9 GUI 系統之SurfaceFlinger 9-1 OpenGL ES 與EGL 9-2 Android 的硬體介面,HAL 9-3 Android 終端顯示裝置的「化身」,Gralloc 與Framebuffer 9-4 Android 中的本地視窗 9.4.1 FramebufferNativeWindow 9.4.2 應用程式端的本地視窗,Surface 9-5 BufferQueue 詳解 9.5.1 BufferQueue 的內部原理 9.5.2 BufferQueue 中的緩衝區分配 9.5.3 應用程式的典型繪圖流程 9.5.4 應用程式與BufferQueue 的關係 9-6 SurfaceFlinger 9.6.1 「奶油專案」,Project Butter 9.6.2 SurfaceFlinger 的啟動 9.6.3 介面的服務端,Client 9-7 VSync 的產生和處理 9.7.1 VSync 信號的產生和分發 9.7.2 VSync 信號的處理 9.7.3 handleMessageTransaction 9.7.4 「介面已經過時/無效,需要重新繪製」,handleMessageInvalidate 9.7.5 合成前的準備工作,preComposition 9.7.6 可見區域,rebuildLayerStacks 9.7.7 為「Composition」建立環境,setUpHWComposer 9.7.8 doDebugFlashRegions 9.7.9 doComposition Chapter 10 GUI 系統之「視窗管理員」—WMS 10-1 「視窗管理員」,WMS 綜述 10.1.1 WMS 的啟動 10.1.2 WMS 的基礎功能 10.1.3 WMS 的工作方式 10.1.4 WMS,AMS 與Activity 間的聯繫 10-2 視窗屬性 . 10.2.1 視窗類型與層級 10.2.2 視窗策略(Window Policy) 10.2.3 視窗屬性(LayoutParams) 10-3 視窗的增加過程 10.3.1 系統視窗的增加過程 10.3.2 Activity 視窗的增加過程 10.3.3 視窗增加物件 10-4 Surface 管理 . 10.4.1 Surface 申請流程(relayout) 10.4.2 Surface 的跨行程傳遞 10.4.3 Surface 的業務操作 10-5 performLayoutAndPlaceSurfacesLockedInner 10-6 視窗大小的計算過程 10-7 啟動視窗的增加與銷毀 10.7.1 啟動視窗的增加 10.7.2 啟動視窗的銷毀 10-8 視窗動畫 10.8.1 視窗動畫類型 10.8.2 動畫流程追蹤,WindowStateAnimator 10.8.3 AppWindowAnimator 10.8.4 動畫的執行過程 Chapter 11 讓介面炫彩起來的GUI 之View 系統 11-1 應用程式中的View 框架 11-2 Activity 中View Tree 的建立過程 11-3 在WMS 中註冊視窗 11-4 ViewRoot 的基本工作方式 11-5 View Tree 的遍覽時機 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 數據仲介,Surface.lockCanvas 11.8.3 解鎖並送出結果,unlockCanvasAndPost 11-9 draw 和onDraw 11-10 View 中的訊息傳遞 11.10.1 View 中TouchEvent 的投遞流程 11.10.2 ViewGoup 中TouchEvent 的投遞流程 11-11 View 動畫 Chapter 12 「問渠哪得清如許,為有源頭活水來」—InputManagerService 與輸入事件 12-1 事件的分類 12-2 事件的傳遞流程 12.2.1 InputManagerService 12.2.2 InputReaderThread 12.2.3 InputDispatcherThread 12.2.4 ViewRootImpl 對事件的分派
作者簡介 林學森 香港中文大學電腦碩士,曾于多家跨國企業擔任研發和管理工作,並已在國內外會議、雜誌上發表多篇文章。 現為某行業知名企業Android軟體創始人、負責人。有豐富的技術研發與專案管理經驗,擅長作業系統架構設計與內核分析。
买了这本书的人也买...
客服公告
热门活动
订阅电子报