Android App開發技術圖譜

引言:
今天偶然看到StuQ的技術圖譜, 找了找竟然沒有Android開發的. 想起之前自己弄了一個, 翻出來看看並不過時, 整理下發出, 大家共同進步.

轉載請註明出處: 簡書/anly_jun/Android App 開發技術圖譜

圖片比較大, 加載較慢, 請等待~~


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


文/anly_jun(簡書作者)
原文鏈接:http://www.jianshu.com/p/39c63eff3c36
著作權歸作者所有,轉載請聯繫作者獲得授權,並標註“簡書作者”。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章