400-888-5228

課程介紹:

如何編寫高Andriod編程優(yōu)化最佳實(shí)踐性能和非凡用戶體驗(yàn)的Android程序,從而從一個(gè)普通的Android開發(fā)工程到成為一個(gè)高手級(jí)別的Android開發(fā)者和架構(gòu)師,是每個(gè)Android開發(fā)者和管理者關(guān)心的核心問題,編寫高性能和非凡用戶體驗(yàn)的Android程序,需要掌握:

  1. 1,精通Android程序運(yùn)行的消息驅(qū)動(dòng)機(jī)制,包括對整個(gè)消息驅(qū)動(dòng)機(jī)制所有源碼和運(yùn)行流程的徹底理解;
  2. 2,通曉Android程序開發(fā)的最佳模式,當(dāng)你直到這個(gè)最佳模式的時(shí)候,你會(huì)發(fā)現(xiàn)AsyncTask是Android的敗筆,而且這個(gè)敗筆一直未能夠在版本升級(jí)中解決;
  3. 3,理解Android程序開發(fā)和運(yùn)行背后的控制者;
  4. 4,合理使用電量;
  5. 5,能評測、分析以及改進(jìn)應(yīng)用程序性;
  6. 6,具備恰到好處的使用NDK、內(nèi)存、SQLite的能力;
  7. 7,具備編寫響應(yīng)式用戶體驗(yàn)好的應(yīng)用程序的能力;
  8. 8,具備掌握Android程序UI最佳模式的能力;
  9. 9,具備掌握Android的導(dǎo)航、布局、數(shù)據(jù)設(shè)計(jì)的能力;
  10. 10,具備掌握和駕馭Android用戶操作模式的能力;

掌握這些問題可以讓你開發(fā)最高效率的Android程序并徹底理解系統(tǒng),同時(shí)會(huì)對對軟件架構(gòu)設(shè)計(jì)有脫胎換骨的理解,最后會(huì)對Android系統(tǒng)有全新的認(rèn)識(shí),從此移動(dòng)互聯(lián)網(wǎng)從業(yè)生涯海闊天空。

本課程正是幫你解決如上的核心問題。

 

課程特色:

  1. 1,以超過20款A(yù)ndroid應(yīng)用程序商業(yè)軟件和超過6款硬體產(chǎn)品為經(jīng)驗(yàn)基礎(chǔ),帶你領(lǐng)悟Android應(yīng)用程序開發(fā)的最高秘密和系統(tǒng)研究的核心內(nèi)幕,這些內(nèi)容主要會(huì)來自于和三星、HTC、摩托羅拉等的合作經(jīng)驗(yàn);
  2. 2,以商業(yè)級(jí)代碼和生產(chǎn)環(huán)境基石。

 

 

課程時(shí)長:

2天

課程對象:

有一定Android開發(fā)基礎(chǔ),想成為Android高手

 

課程大綱:

第1堂課:高性能Android應(yīng)用程序開發(fā)的最佳模式(具備掌握高性能程序編寫的能力)

1、Main Thread+HandlerThread

2、剖析HandlerThread的源碼實(shí)現(xiàn)

3、使用HandlerThread的最佳實(shí)踐

4、并發(fā)并使用并發(fā)緩存

5、適合多CPU的Android編程最佳模式

 

第2堂課:高性能和非凡用戶體驗(yàn)Android應(yīng)用程序的靈魂(具備編寫高性能和用戶體驗(yàn)較好Android應(yīng)用程序核心的能力)

1、為何消息驅(qū)動(dòng)是高性能和非凡用戶體驗(yàn)Android應(yīng)用程序的靈魂?

2、以Android的ActivityThread、Looper、Handler、MessageQueue為例說明消息驅(qū)動(dòng)機(jī)制

3、源碼深度剖析ActivityThread、Looper、Handler、MessageQueue

4、消息驅(qū)動(dòng)機(jī)制的啟示

 

第3堂課:站在AsyncTask的肩上構(gòu)建自己的應(yīng)用程序框架(構(gòu)建自己的Android高效程序的框架)

1、使用AsyncTask

2、從源碼剖析中說明為什么AsyncTask是Android的敗筆

3、如何改進(jìn)AsyncTask

4、構(gòu)造自己的高效程序框架

 

第4堂課:電池:高效程序和非凡用戶體驗(yàn)的關(guān)鍵之一(具備高效省電的應(yīng)用程序的能力)

1、電池:高效程序和非凡用戶體驗(yàn)必須解決的瓶頸

2、網(wǎng)絡(luò)處理:后臺(tái)數(shù)據(jù)和數(shù)據(jù)傳輸

3、電量殺手:位置導(dǎo)航及其最佳實(shí)踐

4、廣播接收器

5、WakeLock的最佳實(shí)踐

6、Notification

 

第5堂課:應(yīng)用程序性能評測、分析以及改進(jìn)最佳實(shí)踐(具備測試、分析和改進(jìn)應(yīng)用程序性能的能力)

1、時(shí)間:System.nanoTime() 和Debug.threadCpuTimeNanos()

2 、代碼調(diào)用堆棧分析:Debug.startMethodTracing()、Traceview

3 、Log的妙用

4 、內(nèi)存和CPU改進(jìn)的最佳實(shí)踐

 

第6堂課:NDK、內(nèi)存、SQLite的使用最佳實(shí)踐(具備恰到好處的使用NDK、內(nèi)存、SQLite的能力)

1、使用NDK的最佳模式

2、使用NDK的案例解析

3、 OOM產(chǎn)生原因和根本解決辦法

4、內(nèi)存不多的時(shí)候怎么辦?

5、內(nèi)存最佳配置時(shí)間

5 、SQLite語句、事務(wù)、查詢的最佳實(shí)踐

 

第7堂課:編寫響應(yīng)式Android程序(具備編寫響應(yīng)式用戶體驗(yàn)好的應(yīng)用程序的能力)

1、編寫響應(yīng)式Android的常見方法

2、移植現(xiàn)有的應(yīng)用實(shí)現(xiàn)響應(yīng)式Android程序

 

第8堂課:Android用戶UI設(shè)計(jì)模式和反模式(具備掌握Android程序UI最佳模式的能力)

1、Android設(shè)計(jì)指南中的設(shè)計(jì)模式

2、 UI設(shè)計(jì)模式最佳實(shí)踐

3、避免使用啟動(dòng)界面

4 、避免使用引導(dǎo)界面

5、避免使用確認(rèn)窗口

6、避免在界面上使用Back按鈕

7、避免使用菜單按鈕

8、避免隱藏狀態(tài)欄

9、避免為快捷操作使用滑動(dòng)覆蓋層

10、避免使用非Android的設(shè)計(jì)

 

第9堂課:Android的導(dǎo)航、布局、數(shù)據(jù)設(shè)計(jì)模式(具備掌握Android的導(dǎo)航、布局、數(shù)據(jù)設(shè)計(jì)的能力)

1、側(cè)邊導(dǎo)航還是其它?

2、布局的最佳模式和案例解析

3、 應(yīng)用軟件的登錄模式、拖動(dòng)手柄模式等

4、其它細(xì)節(jié)

 

第10堂課:Android用戶操作的最佳模式解析(具備掌握和駕馭Android用戶操作模式的能力)

1、使用滑動(dòng)手勢及其忽略

2、使用下拉刷新設(shè)計(jì)模式

3、使用抽屜設(shè)計(jì)模式

4、其它操作模式解析