Android架構揭秘
|
·?Google是如何通過Android支持、掌控全球的硬件廠商和應用程序開發者的?
·?Android控制力的源泉是什么?技術上如何實現?
·?Android的Linux Kernal、HAL、Libararies、Runtime、Application Framework設計的理念和實現技術;
·?Android平臺與硬件、云的微妙關系;
|
Android開機流程揭秘
|
·?第一個用戶進程剖析;
·?ServiceManager與Binder的關系;
·?Zygote揭秘及其運作方式;
·?Android中的第一個Java進程揭秘,第一個Java進程和ServiceManager的關系及代碼實現;
|
Android中啟動一個新的應用程序揭秘
|
·?當我們觸摸Android屏幕中Launcher上的一個應用程序的圖標的時候到底發生怎樣的調用過程?
·?應用程序的執行入口到底在哪里?
·?一個新的Android應用程序的進程到底是怎么產生的?
|
HAL揭秘
|
·?HAL被加入Android中的真正歷史原因分析
·?HAL的意外價值揭秘
·?HAL的Stub
·?hw_module_t與hw_device_t
·?C語言如何實現繼承來滿足HAL Stub的設計目的?包括內存結構分析和代碼風格討論等
·?如何避免HAL Stub實現時的Dirty Code?
|
HAL Stub實戰
|
·?用面向對象的思想分析、設計、實現Stub
·?hw_module_t的子類和hw_device_t的子類的關系以及這種關系的優勢
·?在結構體中如何實現C函數的調用?hw_module_t的子類在代碼中又是如何和hw_device_t的子類交互的?
·?類型轉換問題
|
HAL和Linux Kernel
|
·?HAL Stub訪問和控制硬件
·?Android下的Linux Kernel剖析
·?Android 硬件的Driver
·?訪問Linux內核空間的Driver
|
Service與HAL Stub整合
|
·?以面向服務的觀點和方式與HAL交互
·?Library的中so庫文件的類型及C/S結構剖析
·?hw_get_module
·?獲取HAL Stub對象的代碼流程剖析
·?為何HAL Stub的open方法必須提供supporting API(對設備的操作接口)給runtime;
|
Service、ServiceManager和Binder交互關系揭秘
|
·?Binder的第一號服務是誰?為何要這樣設計和實現?
·?如何編寫Service
·?新的Service產生與ServiceManager和Binder交互流程
·?如何獲取一個Service?
·?Binder的生產者與消費者模式剖析
|
Binder與Shared Memory
|
·?Binder源代碼剖析
·?Shared Memory剖析
·?Binder是如何使用共享內存來完成進程間通信的?
·?從代碼的角度來分析Binder使用Shared Memory的生產者與消費者模式
|
Dalvik VM
|
·?Dalvik VM的特點,Dalvik VM和JVM的比較
·?Dalvik VM的內存分布及OOM(Out of Memory)的根本原因和解決方案是什么?
·?Preload Classes和 Preload Resources,ClassLoader到底在哪里?
·?10.4 Dalvik與Java和C/C++
|
Android中的JNI編程
|
·?Java調用C/C++
·?JNIEnv、JVM、JObject揭秘
·?C/C++創建Java對象、調用Java屬性和方法
·?JNI中的多線程編程
·?Facade Pattern在JNI中絕妙應用剖析
·?PnP(Plug and Play)
|
Android中的NDK編程
|
·?NDK與JNI關系揭秘
·?NDK開發的流程
·?采用NDK方式開發出的程序安裝和運行的內幕
·?NDK中的Java與C/C++相互調用
·?NDK中的多線程編程
·?關于Android軟件開發的標準化和可替換性揭秘
|
SystemServer與Framework中的Service
|
·?Zygote與SystemServer
·?SystemServer開啟Java世界的過程揭秘
·?Android Service和Native Service是如何關聯起來的?
·?Android Service與ServiceManager
·?如何把自己的服務加入到ServiceManager中?
|
把Java寫的 Service加入到Applciation Framework中
|
·?IInterface與CTS
·?Binder
·?AIDL
·?Java Service與Manager
·?SystemServer、ServiceManager
|
Android框架移植移植時的事件驅動機制
|
·?Android Service是如何應對硬件阻塞的?
·?開辟新的子線程并不斷的poll
·?Listener注冊
·?Callback
·?Application Framework中的Handler、Message、Looper、MessageQueue、
·?事件驅動機制實例
|
Manager、Service和完整的數據流
|
·?Manager和Service分離的原則
·?ANR問題
·?阻塞式的操作和非阻塞式操作
·?以實例說明Android中的從最底層到最上層的數據流
|
Application Framework設計思想和力量源泉
|
·?IoC揭秘
·?IoC是何以成為框架神秘力量源泉的?IoC是何以支持框架實現強大控制力的
·?Application Framework與Activity、Service、BroadcastReceiver、ContentProvider
·?動手實現自己的框架
|
Activity、Service、BroadcastReceiver、ContentProvider
|
·?四大組件間的關系剖析
·?Activity、BroadcastReceiver、ContentProvider應用場景和實戰
·?Service與IPC細致剖析
|
終結Android網絡編程
|
·?Android中的數據上傳,重點在于上傳帶有附件的表單
·?Android中的數據下載,重點在于多線程斷點續傳下載
·?Android中的數據瀏覽,重點在于JavaScript和Java的相互溝通
|
Android軟、硬、云三位一體整合
|
·?從技術角度揭秘云,包括云的關鍵技術和實現方法
·?在Native Service中整合Android與云
·?在Application Framework中整合Android與云
·?Android軟、硬、云三位一體整合,包括模式、策略、實現技術
|