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