引言:
今天偶然看到StuQ的技術圖譜, 找了找竟然沒有Android開發的. 想起之前自己弄了一個, 翻出來看看并不過時, 整理下發出, 大家共同進步.
轉載請注明出處: 簡書/anly_jun/Android App 開發技術圖譜
圖片比較大, 加載較慢, 請等待~~
Android_App_Skill_Map
1. 操作系統
Windows/MacOSX/Linux
2. 編程語言
- Java
- HTML/JS (Hybrid/Web App)
- C/C++ (NDK)
- SQL (DB)
- Kotlin
3. 開發工具
3.1 IDE
- Android Studio
- Eclipse
3.2 調試工具
3.2.1 網絡調試
- Charles
- Wireshark
- Fiddler
- tcpdump
- Paw/Postman
3.2.2 內存分析
- monitor
- MAT
3.2.3 Android tools
- adb
- draw9patch
- hierarchyviewer
- uiautomatorviewer
3.3 版本管理
3.3.1 Git
- Git命令
- Github/GitLab
3.3.2 SVN
3.4 CodeReview
- Gerrit
- Github pull request
3.5 Bug/任務管理
- Redmine
- JIRA
- Bugzilla
- Teambition
- Tower
3.6 編譯工具
- Gradle
3.7 持續集成
- Jenkins
- Travis CI
3.8 應用分發
- 蒲公英
- fir.im
1. App基礎
1.1 基本組件
- Activity
- Service
- Content Provider
- Broadcast Receiver
- Intent/Intent Filter
- App Manifest File
1.2 UI
- Layouts
- Widgets
- Resources
- Animations
- 設備適配
1.3 Connectivity
- WiFi
- Mobile網絡
- 網絡狀態監聽
1.4 MultiMedia
- Audio/Video
- Camera/Gallery
1.5 GPS&Location&Map
1.5.1 系統定位
- GPS定位
- Network定位
3rd Map定位
- 百度Map
- 高德Map
2. App進階
2.1 Process&Thread
2.1.1 Process
- Linux進程
- App進程原理
2.1.2 AIDL
- 實現方式
- 原理
2.1.3 Handler/Looper/MQ/Thread
2.1.4 Loader
2.1.5 AsyncTask
2.2 性能優化
2.2.1 ANR
2.2.2 布局層級性能優化
2.3 內存優化
2.3.1 內存檢測工具
2.3.2 內存分析工具
2.3.3 Bitmap優化
2.3.4 內存泄露查找及分析
2.5 網絡優化
2.5.1 API優化
2.5.2 低網速下優化
2.5.3 流量使用優化
- 判斷當前網絡類型
- 使用緩存
2.6 單元測試
3. App高級
3.1 相關原理熟悉
3.1.1 Activity
- 啟動流程
- 生命周期回調原理
- 與View/Window的關系
- 與Fragment的關系
3.1.2 View/Window
- View/Window關系
- View渲染
- View事件分發處理流程
3.1.3 編譯打包
- 編譯打包原理
- 逆向工程分析
- 熱修復
3.2 Hybrid App
3.2.1 與Native App的異同
3.2.2 主流框架
- PhoneGap
- ionic
- React Native
3.3 架構能力
3.3.1 架構
- MVC
- MVP
- MVVM
- Flux
- Clean Architecture
3.3.2 App框架
- 分包
- 分層
3.3.3 設計模式
- OOD原則
- 常用設計模式運用
3.4 ART&Dalvik
- AOT compilation
- GC
- Bytecode&.Dex
3.5 自動化測試
- monkey/monkey runner
- UIAutomator
- Espresso
- Robotium
4. 擴展學習
4.1 響應式編程
4.1.1 Rx
- RxJava
- RxAndroid
- RxBinding
4.1.2 Agera
4.2 主流開源庫
4.2.1 快速開發
- Android Annotation
- ButterKnife
4.2.2 Views
- 太多
4.2.3 HTTP模型
- Retrofit
- OkHttp
- Volley
4.2.4 圖片處理
- Glide
- Fresco
- Picasso
- UIL
4.2.5 依賴注入
- Dagger2
4.2.6 數據庫
- ORMLite
- GreenDAO
- Realm
- Sugar
4.2.7 輔助
- Logger
- LeakCanary
- DbInspector
本文已上傳至Github AndroidDevResources 項目, 歡迎Fork, 提出意見.