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 开发技能图谱![HTML5 脑图](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-HT ...
- Android APP开发需求文档范本
Android APP开发需求文档范本 软件需求文档格式的标准写法 1.引言 1.1 编写目的 • 阐明开发本软件的目的: 1.2 项目背景 • 标识待开发软件产品的名称.代码: • 列出本项目的任 ...
- Android App开发常用专题开源代码
Android App开发中用到过的专题类开源代码: 项目的需求多了,不知不觉成了Github摘抄员,感谢分享精神,节省了很多弯路和时间.不过想要实现指定效果,还是要看懂作者的思路才好下手改造. 主题 ...
- 关于Android App开发技术分类的一个小总结
前言 本文从热更新.异步并发.性能优化.网络请求等多个方面对Android App开发的技术进行了一个分类总结.欢迎大家沟通交流. 热更新 [原]热更新开源项目Tinker源码解析之Dex热更新 [ ...
随机推荐
- bat判断进程是否存在
setlocal enabledelayedexpansion @echo offcd /d D:\work\tool\nginx-1.13.7 set hasit=nofor /F "to ...
- Java并发容器之非阻塞队列ConcurrentLinkedQueue
参考资料:http://blog.csdn.net/chenchaofuck1/article/details/51660521 实现一个线程安全的队列有两种实现方式:一种是使用阻塞算法,阻塞队列就是 ...
- wkhtmltopdf错误解决办法
Odoo/openerp 打印报表时,无法输出PDF格式,提示下面的错误Unable to find Wkhtmltopdf on this system. The report will be sh ...
- 深入理解JVM(三)——垃圾收集策略具体解释
Java虚拟机的内存模型分为五个部分.各自是:程序计数器.Java虚拟机栈.本地方法栈.堆.方法区. 这五个区域既然是存储空间,那么为了避免Java虚拟机在执行期间内存存满的情况,就必须得有一个垃圾收 ...
- 全向轮运动学与V-rep中全向移动机器人仿真
Wheeled mobile robots may be classified in two major categories, omnidirectional and nonholonomic. O ...
- UVA 10539 - Almost Prime Numbers(数论)
UVA 10539 - Almost Prime Numbers 题目链接 题意:给定一个区间,求这个区间中的Almost prime number,Almost prime number的定义为:仅 ...
- SqlServer安装时的选项说明
转自:https://blog.csdn.net/m0_37154839/article/details/80233446 看看组件的功能说明吧 服务器组件 说明 SQL Server 数据库引擎 S ...
- mysql之limit m,n
limit是mysql的语法 select * from table limit [m],n; 其中,m—— [m]为可选,如果填写表示skip步长,即跳过m条. n——显示条数.指从第m+1条记录开 ...
- ios 协议分析
1 基本用途 可以用来声明一大堆方法(不能声明成员变量) 只要某个类遵守了这个协议,就相当于拥有了这个协议中的所有方法声明 只要父类遵守了某个协议,就相当于子类也遵守了 2 格式 协议的编写 @pro ...
- React(0.13) 定义一个动态的组件(注释,样式)
<!DOCTYPE html> <html> <head> <title>React JS</title> <script src=& ...