Android App开发技能图谱

一、开发工具

  1. IDE

Android Studio

Eclipse

  1. 调试工具

Android Tools

adb

Hierarchy Viewer

draw9patch

UI Automator Viewer

Trace View

Lint

网络调试

Charles

Wireshark

Fiddler

tcpdump

Paw/Postman

内存分析

Android Monitor

MAT

  1. 版本控制

Git

Git命令

Github/GitLab

SVN

  1. CodeReview

Gerrit

Github pull request

  1. Bug/任务管理

Redmine

JIRA

Bugzilla

Teambition

Tower

  1. 编译工具

Gradle

  1. 持续集成

Jenkins

Travis CI

  1. 应用分发

蒲公英

fir.im

二、App 基础

  1. 基础知识

java基础

数据结构

面向对象思想

设计模式

面向对象思想

  1. Android基础

Android SDK

基本组件

Activity

Service

BroadcastReceiver

ContentProvider

Intent/Intent Filter

AndroidMainfest

UI

Layout

LinearLayout

RelativeLayout

FrameLayout

GridLayout

TableLayout

DrawerLayout

SlidingPaneLayout

View

Widget

TextView

Button

ImageView

ImageButton

RadioButton

ToggleButton

CheckBox

Switch

ProgressBar

SeekBar

RatingBar

Spinner

WebView

Container

RadioGroup

ScrollView

ListView

GridView

ExpandableListView

Gallery

ViewPager

SlidingDrawer

TabHost

VideoView

RecyclerView

CardView

DateTime

DatePicker

TimePicker

CalendarView

TextClock

AnalogClock

Chronometer

Expert

ToolBar

Fragment

Space

PopupWindow

CheckedTextView

AutoCompleteTextView

MultiAutoCompleteTextView

QuickContactBadge

ExtractEditText

NumberPicker

ZoomButton

ZoomControls

GestureOverlayView

SurfaceView

TextureView

StackView

ViewStub

ViewAnimator

ViewFlipper

ViewSwitcher

ImageSwitcher

TextSwitcher

AdapterViewFlipper

MediaController

DialerFilter

PopMenu

Other

include

requestFocus

Custom View

extend system View

combination View

extend View

Animation

View Animation

Tween Animation

Alpha

Scale

Translate

Rotate

Interpolator

Frame Animation

animation-list

Property Animation

ValueAnimator

ObjectAnimator

AnimatorSet

Resource

assets

AssetManager

res

anim

animator

color

drawable

interpolator

layout

menu

raw

values

arrarys

attrs

bools

colors

string

styles

xml

OpenGL

  1. 数据持久化

Sqlite

SQLiteOpenHelper

ContentProvider

File

Internal Storage

External Storage

SharedPreferences

  1. 通信

Http

HttpClient

HttpConnection

Socket

Bluetooth

NFC

Headset

USB

  1. 手机功能

电话

联系人

通话记录

短/彩信

Camera

Audio

SD卡

Wifi

感应器

加速

方向

重力

光线

陀螺仪

磁场

接近

温度

压力

线性加速度

旋转

三、App 进阶

  1. ProcessThread

Process

Linux进程

App进程原理

AIDL

实现方式

原理

Handler/Looper/MessageQueue/Thread

Loader

AsyncTask

  1. 性能优化

ANR

布局层级性能优化

  1. 内存优化

内存检测工具

内存分析工具

Bitmap优化

内存泄露查找及分析

  1. 网络优化

API优化

低网速下优化

流量使用优化

判断当前网络类型

使用缓存

  1. 单元测试

JUnit

四、App 高级

  1. 相关原理熟悉

Activity

启动流程

生命周期回调原理

与View/Window的关系

与Fragment的关系

View/Window

View/Window关系

View渲染

View事件分发机制

编译打包

编译打包原理

****分析

热修复

  1. Hybrid App

与Native App的异同

主流框架

React Native

Weex

PhoneGap

ionic

  1. 架构能力

架构

MVC

MVP

MVVM

Flux

Clean Architecture

App框架

分包

分层

设计模式

OOD原则

常用设计模式运用

  1. ARTDalvik

AOT compilation

GC

BytecodeDex

  1. 自动化测试

Monkey/MonkeyRunner

UIAutomator

Espersso

Robotium

Appium

Athrun(TMTS)

五、扩展学习

  1. 响应式编程

Rx

RxJava

RxAndroid

RxBinding

Agera

  1. 快速开发

ButterKnife

Android Annotation

AFinal

xUtils

  1. Views

太多…

  1. 网络请求

OkHttp

Retrofit

Volley

  1. 图片请求

Glide

Fresco

Picasso

Universal-Image-Loader

  1. 依赖注入

Dagger2

  1. 事件总线

EventBus

Otto

  1. 数据库

ORMLite

GreenDAO

Realm

SugarORM

ActiveAndroid

  1. 图表

MPAndroidChart

HelloCharts

  1. 辅助

Logger

LeakCanary

DbInspector

  1. 支付

支付宝

微信

银联

Ping++

  1. 地图

百度地图

高德地图

Google地图

  1. 分享

ShareSDK

友盟Ushare

  1. 统计分析

友盟

  1. 语音识别

科大讯飞

  1. 人脸识别

Face++

ReadFace
Android App开发技能图谱