操作系統 Windows/MacOSX/Linux 編程語言 Java HTML/JS (Hybrid/Web App) C/C++ (NDK) SQL (DB) Kotlin 開發工具 IDE Android Studio Eclipse 調試工具 網路調試 Charles Wireshark F ...
操作系統
- Windows/MacOSX/Linux
編程語言
- Java
- HTML/JS (Hybrid/Web App)
- C/C++ (NDK)
- SQL (DB)
- Kotlin
開發工具
-
IDE
- Android Studio
- Eclipse
-
調試工具
-
網路調試
- Charles
- Wireshark
- Fiddler
- tcpdump
- Paw/Postman
-
記憶體分析
- monitor
- MAT
-
Android tools
- adb
- draw9patch
- hierarchyviewer
- uiautomatorviewer
-
-
版本管理
-
Git
- Git命令
- Github/GitLab
-
SVN
-
-
CodeReview
- Gerrit
- Github pull request
-
Bug/任務管理
- Redmine
- JIRA
- Bugzilla
- Teambition
- Tower
-
編譯工具
- Gradle
-
持續集成
- Jenkins
- Travis CI
-
應用分發
- 蒲公英
- fir.im
App基礎
-
基本組件
- Activity
- Service
- Content Provider
- Broadcast Receiver
- Intent/Intent Filter
- App Manifest File
-
UI
- Layouts
- Widgets
- Resources
- Animations
- 設備適配
-
Connectivity
- WiFi
- Mobile網路
- 網路狀態監聽
-
MultiMedia
- Audio/Video
- Camera/Gallery
-
GPS&Location&Map
-
系統定位
- GPS定位
- Network定位
-
3rd Map定位
- 百度Map
- 高德Map
-
App進階
-
Process&Thread
-
Process
- Linux進程
- App進程原理
-
AIDL
- 實現方式
- 原理
-
Handler/Looper/MQ/Thread
-
Loader
-
AsyncTask
-
-
性能優化
-
ANR
-
佈局層級性能優化
-
-
記憶體優化
-
記憶體檢測工具
-
記憶體分析工具
-
Bitmap優化
-
記憶體泄露查找及分析
-
-
網路優化
-
API優化
-
低網速下優化
-
流量使用優化
- 判斷當前網路類型
- 使用緩存
-
-
單元測試
App高級
-
相關原理熟悉
-
Activity
- 啟動流程
- 生命周期回調原理
- 與View/Window的關係
- 與Fragment的關係
-
View/Window
- View/Window關係
- View渲染
- View事件分發處理流程
-
編譯打包
- 編譯打包原理
- 逆向工程分析
- 熱修複
-
-
Hybrid App
-
與Native App的異同
-
主流框架
- PhoneGap
- ionic
- React Native
-
-
架構能力
-
架構
- MVC
- MVP
- MVVM
- Flux
- Clean Architecture
-
App框架
- 分包
- 分層
-
設計模式
- OOD原則
- 常用設計模式運用
-
-
ART&Dalvik
- AOT compilation
- GC
- Bytecode&.Dex
-
自動化測試
- monkey/monkey runner
- UIAutomator
- Espresso
- Robotium
擴展學習
-
響應式編程
-
Rx
- RxJava
- RxAndroid
- RxBinding
-
Agera
-
-
主流開源庫
-
快速開發
- Android Annotation
- ButterKnife
-
Views
- 太多
-
HTTP模型
- Retrofit
- OkHttp
- Volley
-
圖片處理
- Glide
- Fresco
- Picasso
- UIL
-
依賴註入
- Dagger2
-
資料庫
- ORMLite
- GreenDAO
- Realm
- Sugar
-
輔助
- Logger
- LeakCanary
- DbInspector
-
本文轉載自:https://github.com/TeamStuQ/skill-map/blob/master/data/map-MobileDev-AndroidDev.md