1. 程式人生 > >成為Android工程師的基本要求

成為Android工程師的基本要求

1. 初級Android工程師(1年) 官方文件 : traning,guide 閱讀一遍    做筆記
   動手抄幾個例子(看API Demos)
   四大元件
   如何建立Service    如何進行佈局
   簡單的自定義View    動畫 2. 中級Android工程師(1-2年)    AIDL :熟悉AIDL 理解原理 懂transact和onTransact的區別
   Binder:從Java層大概理解Binder的工作原理,懂Parcel物件的使用。
   多執行緒:熟練掌握多程序的執行機制,懂Messenger、Socket等;    事件分發:彈性滑動、滑動衝突等;    玩轉View:View的繪製原理、各種自定義View;    動畫系列:熟悉View動畫和屬性動畫的不同點,懂屬性動畫的工作原理;    懂效能優化、熟悉mat等工具    懂點常見的設計模式   自定義View :我的建議是不要通過學習自定義view而學習自定義view。為什麼這麼說呢?因為自定義view的種類太   多了,各式各樣的絢麗的自定義效果,如何學的玩呢!我們要透過現象看本質,更多地去關注自定義view所需的知 識點,這裡做如下總結:   搞懂view的滑動原理   搞懂如何實現彈性滑動   搞懂view的滑動衝突   搞懂view的measure、layout和draw   我個人認為通過《Android開發藝術探索》和《Android群英傳》可以縮短這個過程為0.5-1年。   技術要求:   稍微深入的知識點:   AIDL、Messenger、Binder、多程序、動畫、滑動衝突、自定義View、訊息佇列等 3. 高階Android工程師(3-5年)   繼續加深理解”稍微深入的知識點“中所定義的內容   AIDL、Messenger、Binder、多程序、動畫、滑動衝突、自定義View、訊息佇列等
   瞭解系統核心機制:
1. 瞭解SystemServer的啟動過程    2. 瞭解主執行緒的訊息迴圈模型    3. 瞭解AMS和PMS的工作原理    4.  能夠回答問題”一個應用存在多少個Window?“    5.  瞭解四大元件的大概工作流程    6. ... ...

基本知識點的細節

1. Activity的啟動模式以及異常情況下不同Activity的表現

2. Service的onBind和onReBind的關聯

3. onServiceDisconnected(ComponentName className)和binderDied()的區別

4. AsyncTask在不同版本上的表現細節

5. 執行緒池的細節和引數配置

6. …

熟悉設計模式,有架構意識

學習方法:

這個時候已經沒有太具體的學習方法了,無非就是看書、看原始碼和做專案,平時多種總結,儘量將知識融會貫通從而形成一種體系化的感覺。同時這個階段對架構是有一定要求的,架構是抽象的,但是設計模式是具體的,所以一定要加強下設計模式的學習。關於設計模式的學習,最近一本新書推薦給大家《Android 原始碼設計模式解析與實戰》,既可以學習設計模式,又可能體會到Android原始碼中的設計思想,我最近也在閱讀此書。

高階Android工程師技術要求:

- 稍微深入的知識點

- 系統核心機制

- 基本知識點的細節

- 設計模式和架構

 書籍推薦

《Android開發藝術探索》、《Android 原始碼設計模式解析與實戰》、《Android核心剖析》