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 开发技能图谱
Javascript动画效果(二) 在前面的博客中讲了简单的Javascript动画效果,这篇文章主要介绍我在改变之前代码时发现的一些问题及解决方法. 在前面的多物体宽度变化的例子中,我们给其增加代码 ...
- PLT:说说Evaluation strategy
Brief 在学习方法/函数时,我们总会接触到 按值传值 和 引用传值 两个概念.像C#是按值传值,但参数列表添加了ref/out后则是引用传值,但奇怪的事出现了 namespace Foo{ cla ...
- 解决Fedora解压文件产生乱码的问题
最近有发现在使用Linux的时候,之前也遇到过在ubuntu下,最后ubuntu貌似在原生下优化了这个问题,现在换到了fedora上的时候问题又出现了,解压出来的文件中文乱码. 为了在linux下可以 ...
- .Net语言 APP开发平台——Smobiler学习日志:如何仿微信朋友圈的消息样式?
最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的”Smobil ...
- ASP.NET MVC Layout 嵌套
模板页Layout.cshtml代码(路径"~/Views/Backstage/MachineMng/Layout.cshtml"): @{ ViewBag.Title = &qu ...
- 开发ASP.NET MVC设置统一的命名空间
当你创建一个全新的ASP.NET MVC专案之后,你想设置统一的命名空间,从可以下面几次入手. 首先设置专案的属性: 第二步,打开Views/Web.config文件,修改: 第三步,修改路由文件的命 ...
- Socket开发框架之数据传输协议
我在前面一篇随笔<Socket开发框架之框架设计及分析>中,介绍了整个Socket开发框架的总体思路,对各个层次的基类进行了一些总结和抽象,已达到重用.简化代码的目的.本篇继续分析其中重要 ...
- exception throw in progress runner thread_VS2015中SVN源代码无说明提交异常
1-问题描述:通过SVN将代码变更提交服务器时,你可能会遇到以下异常: exception throw in progress runner thread 2-解决办法: SVN代码源代码管理和TF ...
- matlab 调用dos命令和文件操作
第一.利用!直接调用,简单方便,可以带操作对象:!del A.bat 第二.调用system函数或者dos函数,既可以实现功能,又返回参数,能检查执行情况,方便后面程序的开发,推荐这个 [status ...
- 介绍开源的.net通信框架NetworkComms框架 源码分析(六)SendReceiveOptions
原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架 作者是英国人 以前是收费的 目前作者已经开源 许可是 ...