网站首页 > 教程文章 正文
引言:
今天偶然看到StuQ的技术图谱, 找了找竟然没有Android开发的. 想起之前自己弄了一个, 翻出来看看并不过时, 整理下发出, 大家共同进步.
图片比较大, 加载较慢, 请等待~~
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 AndroidDevResources 项目, 欢迎Fork, 提出意见.
(本文地址, 或github资源地址
https://github.com/mingjunli/AndroidDevResources/wiki/Android-App%E5%BC%80%E5%8F%91%E6%8A%80%E6%9C%AF%E5%9B%BE%E8%B0%B1)
猜你喜欢
- 2025-09-21 作为一名Android面试官的碎碎念,面试要掌握这几个关键点
- 2025-09-21 Android高级/资深面试题_安卓高级面试题2020
- 2025-09-21 Jetpack架构演变(一)初始年代的liveData和viewbinding
- 2025-09-21 二次面试终拿到offer,百度Android面试真题解析我整理出来了
- 2025-09-21 多少程序员的梦想职位,成为阿里P7真的就这么难吗?学会这些就够了
- 2025-09-21 书评 | 9 年码龄工程师读 Android 经典
- 2025-09-21 vue面试题(自用)_vue常见面试题及答案2021
- 2025-09-21 AI实用指南:Rules编写规则详解,从前端到后端的技术栈全覆盖
- 2025-09-21 【推荐】一款基于 Python 实现、开源的全平台在线刷题系统
- 2025-09-21 干货教程 | 用TFLi 和SPICE模型打造听歌识谱App
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)