Android App开发技能图谱(转载)
操作系统
- Windows/MacOSX/Linux
编程语言
- Java
- HTML/JS (Hybrid/Web App)
- C/C++ (NDK)
- SQL (DB)
- Kotlin
开发工具
IDE
Android Studio
调试工具
网络调试
- Charles
- Wireshark
- Fiddler
- tcpdump
- Paw/Postman
内存分析
- monitor
- MAT
Android tools
- adb
- draw9patch
- hierarchyviewer
- uiautomatorviewer
版本管理
Git
- Git命令
- Github/GitLab
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定位
- Network定位
3rd Map定位
- 百度Map
- 高德Map
App进阶
Process&Thread
Process
- Linux进程
- App进程原理
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框架
- 分包
- 分层
设计模式
- OOD原则
- 常用设计模式运用
ART&Dalvik
- AOT compilation
- GC
- Bytecode&.Dex
自动化测试
- monkey/monkey runner
- UIAutomator
- Espresso
- Robotium
扩展学习
响应式编程
Rx
- RxJava
- RxAndroid
- RxBinding
Agera
主流开源库
快速开发
- Android Annotation
- ButterKnife
Views
- 太多
HTTP模型
- Retrofit
- OkHttp
- Volley
图片处理
- Glide
- Fresco
- Picasso
- UIL
依赖注入
- Dagger2
数据库
- ORMLite
- GreenDAO
- Realm
- Sugar
辅助
- Logger
- LeakCanary
- DbInspector
链接:https://github.com/TeamStuQ/skill-map/blob/master/data/map-MobileDev-AndroidDev.md
Android App开发技能图谱(转载)的更多相关文章
- Android App 开发技能图谱
操作系统 Windows/MacOSX/Linux 编程语言 Java HTML/JS (Hybrid/Web App) C/C++ (NDK) SQL (DB) Kotlin 开发工具 IDE An ...
- Android ROM 开发技能图谱
# Android ROM 开发技能图谱 ## 1. 操作系统 * Ubuntu(首选)* MacOSX ## 2. 编程语言 * Java * JNI(务必掌握)* C++* C ## 3. 源码 ...
- Android 架构师技能图谱(转载)
架构与设计 设计模式 重构 技术选型 特性 可用性 性能 包大小 方法数 文档 技术支持 UI架构模式 MVC MVP MVVM 研发工具 集成开发环境 Android Studio Sublime ...
- Android 架构师技能图谱
# Android 架构师技能图谱 ## 架构与设计 - 设计模式 - 重构 - 技术选型 - 特性 - 可用性 - 性能 - 包大小 - 方法数 - 文档 - 技术支持 - UI架构模式 - MVC ...
- 一看就懂的Android APP开发入门教程
一看就懂的Android APP开发入门教程 作者: 字体:[增加 减小] 类型:转载 这篇文章主要介绍了Android APP开发入门教程,从SDK下载.开发环境搭建.代码编写.APP打包等步骤 ...
- HTML5 开发技能图谱skill-map
# HTML5 开发技能图谱 { switch ...
- java 浮点运算
CreateTime--2017年12月1日11:35:00 Author:Marydon java 浮点类型(float.double)间的运算工具类 /** * 进行BigDecimal对象的 ...
- 【麦子学院】Linux cmd命令大全
pwd :print working directory. 打印工作文件夹即当前文件夹. cd :change directory.切换文件夹. /是linux的根文件夹.eg. cd/home ls ...
- linux mysql 数据库开启外部访问设置指南
Linux下设置MySQL和允许外部机器访问,具体目录是具体情况而定,有的人是安装了在个人目录下,则找到对应的目录则可以 Linux下设置MySQL和允许外部机器访问sudo vi /etc/my.c ...
- LR函数基础(一)(二)
LR函数基础(一) 函数用到:web_reg_find(). lr_log_message(). lr_eval_string().strcmp().atoi() Action(){ web_r ...
- PL/SQL12中文版
PLSQL12,界面优化很不错,更加美观,直接集成中文语言!,更加艳丽 01.界面 02.注册码 注意:有能力的还是购买付费版的,付费是对软件的高度认可和支持 12.0.3.1821 64bit: 注 ...
- Centos7新装配置, 并使用openvpn client长连接远程备份
1. 修改本机hostname // 查看本机hostname hostnamectl //永久性的修改主机名称, 修改完后新开的terminal中立刻生效. 也可以直接修改 /etc/hostnam ...