Android App 开发技能图谱

操作系统
- 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
内存分析
- 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 架构师技能图谱
# Android 架构师技能图谱 ## 架构与设计 - 设计模式 - 重构 - 技术选型 - 特性 - 可用性 - 性能 - 包大小 - 方法数 - 文档 - 技术支持 - UI架构模式 - MVC ...
- HTML5 开发技能图谱skill-map
# HTML5 开发技能图谱方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处.format()方法有两种重载形式. form ...
- IOS 字典快速转换为Model 模型
一般情况下IOS得局部页面加载的过程是,创建一个Model然后,将Nib文件与Model进行关联,然后能够快速的获取到Nib文件上的控件实例.操作生成页面. 但是原生的内容是没有直接通过Json获取M ...
- VS自动生成的packages.config配置文件有什么用?
通过nuget管理安装了程序包之后,Visual Studio会自动生成一个关于这些程序包版本的配置文件,删除或者保留它对程序不会造成什么影响.
- MVC _ aspx视图引擎登录及状态保持
MVC - M(Model模型层) V(View视图层) C(Control控制层) 数据访问层 界面层 业务逻辑层 WebForm 是请求访问哪一个页面,返回的是一 ...
- .Net中的并行编程-1.路线图
最近半年一直研究用.net进行并行程序的开发与设计,再研究的过程中颇有收获,所以画了一个图总结了一下并行编程的基础知识点,这些知识点是并行编程的基础,有助于我们编程高性能的程序,里面的某些结构实现机制 ...
- MySQL Workbench gnome-keyring-daemon错误的解决
在Fedora下安装了一个MySQL Workbench,运行,连接数据库,在Store in Keychain时出现了gnome-keyring-daemon错误,不能保存密码,也就连不上数据库. ...
- iOS AFNetworking 打印从服务器返回的错误提示信息
每次做项目的时候都会在网络请求时候测试接口的时候会出现一些不同的错误,而控制台打印的错误提示信息都是data类型,看不出提示的错误的信息是什么.后面经过一些查阅发现其实是可以把这个转变为string的 ...
- JS this,call和apply以及回调函数
this this引用,引用的是一个对象,对象不同或函数调用方式的不同,this引用会根据代码的上下文语境自动改变引用对象的特性. 引用规则 1,在最外层代码中,this引用引用的是全局对象(wind ...