操作系统

  • 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开发技能图谱(转载)的更多相关文章

  1. Android App 开发技能图谱

    操作系统 Windows/MacOSX/Linux 编程语言 Java HTML/JS (Hybrid/Web App) C/C++ (NDK) SQL (DB) Kotlin 开发工具 IDE An ...

  2. Android ROM 开发技能图谱

    # Android ROM 开发技能图谱 ## 1. 操作系统 * Ubuntu(首选)* MacOSX ## 2. 编程语言 * Java * JNI(务必掌握)* C++* C ## 3. 源码 ...

  3. Android 架构师技能图谱(转载)

    架构与设计 设计模式 重构 技术选型 特性 可用性 性能 包大小 方法数 文档 技术支持 UI架构模式 MVC MVP MVVM 研发工具 集成开发环境 Android Studio Sublime ...

  4. Android 架构师技能图谱

    # Android 架构师技能图谱 ## 架构与设计 - 设计模式 - 重构 - 技术选型 - 特性 - 可用性 - 性能 - 包大小 - 方法数 - 文档 - 技术支持 - UI架构模式 - MVC ...

  5. 一看就懂的Android APP开发入门教程

    一看就懂的Android APP开发入门教程 作者: 字体:[增加 减小] 类型:转载   这篇文章主要介绍了Android APP开发入门教程,从SDK下载.开发环境搭建.代码编写.APP打包等步骤 ...

  6. HTML5 开发技能图谱skill-map

    # HTML5 开发技能图谱![HTML5 脑图](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-HT ...

  7. Android APP开发需求文档范本

    Android  APP开发需求文档范本 软件需求文档格式的标准写法 1.引言 1.1 编写目的 • 阐明开发本软件的目的: 1.2 项目背景 • 标识待开发软件产品的名称.代码: • 列出本项目的任 ...

  8. Android App开发常用专题开源代码

    Android App开发中用到过的专题类开源代码: 项目的需求多了,不知不觉成了Github摘抄员,感谢分享精神,节省了很多弯路和时间.不过想要实现指定效果,还是要看懂作者的思路才好下手改造. 主题 ...

  9. 关于Android App开发技术分类的一个小总结

     前言 本文从热更新.异步并发.性能优化.网络请求等多个方面对Android App开发的技术进行了一个分类总结.欢迎大家沟通交流. 热更新 [原]热更新开源项目Tinker源码解析之Dex热更新 [ ...

随机推荐

  1. ES6学习笔记十一:编程风格技巧

    一:用let取代var 二:静态字符串一律使用单引号或反引号,不使用双引号.动态字符串(模版字符串)使用反引号. 三:解构赋值: 使用数组对变量赋值时,优先使用解构赋值: 函数的参数如果是对象的成员, ...

  2. Changing the Language Used in ODI Studio

    odi.conf中加入区域和语言设置 修改 "$ODI_HOME\odi\studio\bin\odi.conf"    ( D:\Oracle\Middleware\Oracle ...

  3. RHEL7 MariaDB测试

    MariaDB安装及启动: yum groupinstall mariadb 启动mariadb systemctl restart mariadb systemctl enable mariadb ...

  4. 转:CMake快速入门教程-实战

    CMake快速入门教程:实战 收藏人:londonKu     2012-05-07 | 阅:10128  转:34    |   来源   |  分享               0. 前言一个多月 ...

  5. LeetCode——Combination Sum II

    Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in ...

  6. windows上的Qt 5的依赖部署打包

    通常我们编译Qt程序的时候最终会生成exe或dll,这些可执行文件都会有Qt模块的依赖,如果项目一旦庞大,就不是很好看出缺了什么模块,导致安装包安装到其他绿色干净的windows机器上会提示缺少XXX ...

  7. Golang 要点汇总

    Golang有很多非常强大的用法,本文对网上的一些文章做一个简单的汇总,供以后翻阅. 1,Constant的用法 https://splice.com/blog/iota-elegant-consta ...

  8. linux shell 脚本攻略学习8---md5校验,sort排序,uniq命令详解

    一.校验与核实 目前最为出名的校验技术是md5sum和sha1sum,它们对文件内容使用相应的算法来生成校验和. 举例: amosli@amosli-pc:~/learn$ md5sum text.t ...

  9. C++中四种类型转换方式(ynamic_cast,const_cast,static_cast,reinterpret_cast)

    Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意? A:转换的含义是通过改变一个变量的类型为别的类型从而 ...

  10. 手动修改magento域名

    So it turns out the problem was that Apache didn't have write permissions to the WEBROOT/var directo ...