Skip to content

Latest commit

 

History

History
296 lines (184 loc) · 3.38 KB

Android-App开发技术图谱.md

File metadata and controls

296 lines (184 loc) · 3.38 KB

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, 博客, 简书, 掘金, 开发者头条