Android App 开发技术图谱

4,747 阅读2分钟

引言:
今天偶然看到StuQ的技术图谱, 找了找竟然没有Android开发的. 想起之前自己弄了一个, 翻出来看看并不过时, 整理下发出, 大家共同进步.

图片比较大, 加载较慢, 请等待~~


Android_App_Dev_Skill_Map

操作系统

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

内存分析

DDMS/adb

版本管理

Git

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定位

3rd Map定位

App进阶

Process&Thread

Process

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框架

设计模式

ART&Dalvik

AOT compilation

GC

Bytecode&.Dex

自动化测试

monkey/monkey runner

UIAutomator

Espresso

Robotium

扩展学习

响应式编程

Rx

  • RxJava

  • RxAndroid

  • RxBinding

Agera

主流开源库

快速开发

  • Android Annotation

  • ButterKnife

Views

HTTP模型

图片处理

依赖注入

数据库

  • ORMLite

  • GreenDAO

  • Realm

  • Sugar

辅助

  • Logger

  • LeakCanary

  • DbInspector

本文已上传至Github AndroidDevResources 项目, 欢迎Fork, 提出您的意见.

个人博客: www.lmj.wiki