王家林 Android HTML5 雲端運算實戰 Hadoop —-王家林的徹底精通Android應用程式框架架構與代碼實戰

來源:互聯網
上載者:User

 

王家林:致力於軟硬雲整合,通曉Android、HTML5、Hadoop      Tel:     18610086859      Email: jialingege@126.com       hiheartfirst@gmail.com

 

 

 

一:家林的話:

   APK是AF(Application Framework)和應用開發工程師共同智慧的結晶,APK的運行是AF和應用開發工程師開發的Code相互作用。

本課程依據和Android之父以及Google、三星、HTC中的Android團隊合作的經驗,力求從設計者的角度帶領大家徹底洞悉AF,先從AF的架構和移植講起,然後詳細的以AMS、PMS、WMS的Code細緻驗證和深度剖析,最後以ANR的徹底剖析結束。

二:這個課程能帶給您什麼價值?

1,   有Android App開發經驗應用軟體開發工程師:

第一:解決應用程式頻繁出現的疑難雜症,例如ANR、OOM等

第二:應用程式的安裝、運行、結束背後的秘密、並以細緻的代碼剖析來深度探討;

第三:是從應用開發工程師走向Android架構師最快捷、最實用的的道路;

2,   有經驗的Android系統開發人員:

第一:Application Framework內部所有的架構設計秘密揭秘,讓你把自己的硬體服務移植進AF如行雲流水般暢快;

第二:掌控Android應用程式開發人員;

第三:領略最頂級的商業架構思維是如何轉化為具體的架構代碼的;

三:適合對象:

   有至少半年經驗的Android應用程式開發,經驗越豐富越好;

   有Android系統移植經驗;

   上過王家林Android軟硬整合課程或者應用程式開發課程的朋友;

 

四、培訓內容

 

第一天

第1個主題: Android的哲學思考

1. 造型簡單、內涵豐富、無限重複

2. Android的IOC

3. APK與API

 

第2個主題:Android Application Framework揭秘

1. CS結構:應用程式框架中的Manager通用的結構

2. Manager與Service一一對應

3. 跨進程通訊與AIDL

 

第3個主題:Android中啟動一個新的應用程式揭秘

1. 當我們觸摸Android螢幕中Launcher上的一個應用程式的表徵圖的時候到底發生怎樣的調用過程?

2. 應用程式的執行入口到底在哪裡?

3. 一個新的Android應用程式的進程到底是怎麼產生的?

 

第4個主題:Dalvik VM

1. Dalvik VM的特點,Dalvik VM和JVM的比較

2. Dalvik VM的記憶體分布及OOM(Out of Memory)的根本原因和解決方案是什嗎?

3. Preload Classes和 Preload Resources,ClassLoader到底在哪裡?

4. Dalvik與Java和C/C++

 

第5個主題:把Java寫的 Service加入到Applciation Framework中

1. IInterface與CTS

2. Binder

3. AIDL

4. Java Service與Manager

5. SystemServer、ServiceManager

 

第6個主題:Android架構移植移植時的事件驅動機制

1. Android Service是如何應對硬體阻塞的?

2. 開闢新的子線程並不斷的poll

3. Listener註冊

4. Callback

5. Application Framework中的Handler、Message、Looper、MessageQueue、

6. 事件驅動機制執行個體

 

第7個主題:Manager、Service和完整的資料流

1,Manager和Service分離的原則

2,ANR問題

3,阻塞式的操作和非阻塞式操作

4,以執行個體說明Android中的從最底層到最上層的資料流

 

第8個主題:ActivityManagerService之AMS總體剖析

1.ActivityManagerService的main函數剖析

2,AMS的 setSystemProcess剖析

3.AMS的 installSystemProviders函數剖析

4.AMS的 systemReady剖析

 

第9個主題:ActivityManagerService之startActivity剖析

1.ActivityManager

2.AMS的startActivityAndWait函數剖析

3.startActivityLocked剖析

 

第10個主題:ActivityManagerService之Broadcast和BroadcastReceiver剖析

1.registerReceiver流程剖析

2.sendBroadcast流程剖析

3.BROADCAST_INTENT_MSG訊息處理函數

4.應用進程處理廣播剖析

第11個主題:ActivityManagerService之startService剖析

 

1.startService代碼剖析

2.startService流程圖

 

 

 

時間

內  容

備忘

第二天

第1個主題:ActivityManagerService之進程管理

1.Linux和Android中的進程管理

2.AMS進程管理函數剖析

 

第2個主題:ActivityManagerService之App的 Crash處理

1.應用進程的Crash處理

2.AMS的handleApplicationCrash剖析

3.AppDeathRecipient binderDied剖析

 

第3個主題:PackageManagerService之main函數剖析

1.建構函式剖析之前期準備工作

2.建構函式剖析之掃描Package

3.建構函式剖析之掃尾工作

第4個主題:PackageManagerService之APK Installation剖析

1.adb install剖析

2.pm剖析

3.installPackageWithVerification函數剖析

4.APK 安裝流程

5.Verification介紹

 

第5個主題:PackageManagerService之queryIntentActivities剖析

1.Intent及IntentFilter介紹

2.Activity資訊的管理

3.Intent 匹配查詢剖析

4.queryIntentActivities總結

 

第6個主題:PackageManagerService之installd及UserManager剖析

1. installd剖析

2.UserManager剖析  

 

第7個主題:WindowManagerService之應用程式介面的初始化

1. Android中的視窗

2.應用程式介面初始化的過程

 

第8個主題:WindowManagerService之視窗管理

1. WindowManagerService.java

    WindowState.java

    WindowToken.java

    AppWindowToken.java

    Session.java

    InputManager.java

    InputMonitor.java

等的分析

2.Activity啟動過程中建立視窗的時序

 

第9個主題:WindowManagerService之WindowManagerImpl剖析

1. addView

2.ViewRoot  

 

第10個主題:WindowManagerService之WindowManagerImpl剖析

1. ViewRoot和WMS的互動

2.WindowState和Surface

 

第11個主題:徹底洞悉ANR

1. ANR通常出現的情境和常用的解決方案

2.從架構和系統的觀點來看:ANR到底是怎麼產生的?

3. ANR的終極解決方案是什嗎?

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.