美文网首页架构studio九阴真经
Android App 开发技术图谱

Android App 开发技术图谱

作者: anly_jun | 来源:发表于2016-07-26 23:32 被阅读8933次

    引言:
    今天偶然看到StuQ的技术图谱, 找了找竟然没有Android开发的. 想起之前自己弄了一个, 翻出来看看并不过时, 整理下发出, 大家共同进步.

    转载请注明出处: 简书/anly_jun/Android App 开发技术图谱

    图片比较大, 加载较慢, 请等待~~

    Android_App_Skill_Map

    1. 操作系统

    Windows/MacOSX/Linux

    2. 编程语言

    • Java
    • HTML/JS (Hybrid/Web App)
    • C/C++ (NDK)
    • SQL (DB)
    • Kotlin

    3. 开发工具

    3.1 IDE

    • Android Studio
    • Eclipse

    3.2 调试工具

    3.2.1 网络调试

    • Charles
    • Wireshark
    • Fiddler
    • tcpdump
    • Paw/Postman

    3.2.2 内存分析

    • monitor
    • MAT

    3.2.3 Android tools

    • adb
    • draw9patch
    • hierarchyviewer
    • uiautomatorviewer

    3.3 版本管理

    3.3.1 Git

    • Git命令
    • Github/GitLab

    3.3.2 SVN

    3.4 CodeReview

    • Gerrit
    • Github pull request

    3.5 Bug/任务管理

    • Redmine
    • JIRA
    • Bugzilla
    • Teambition
    • Tower

    3.6 编译工具

    • Gradle

    3.7 持续集成

    • Jenkins
    • Travis CI

    3.8 应用分发

    • 蒲公英
    • fir.im

    1. App基础

    1.1 基本组件

    • Activity
    • Service
    • Content Provider
    • Broadcast Receiver
    • Intent/Intent Filter
    • App Manifest File

    1.2 UI

    • Layouts
    • Widgets
    • Resources
    • Animations
    • 设备适配

    1.3 Connectivity

    • WiFi
    • Mobile网络
    • 网络状态监听

    1.4 MultiMedia

    • Audio/Video
    • Camera/Gallery

    1.5 GPS&Location&Map

    1.5.1 系统定位

    • GPS定位
    • Network定位

    3rd Map定位

    • 百度Map
    • 高德Map

    2. App进阶

    2.1 Process&Thread

    2.1.1 Process

    • Linux进程
    • App进程原理

    2.1.2 AIDL

    • 实现方式
    • 原理

    2.1.3 Handler/Looper/MQ/Thread

    2.1.4 Loader

    2.1.5 AsyncTask

    2.2 性能优化

    2.2.1 ANR

    2.2.2 布局层级性能优化

    2.3 内存优化

    2.3.1 内存检测工具

    2.3.2 内存分析工具

    2.3.3 Bitmap优化

    2.3.4 内存泄露查找及分析

    2.5 网络优化

    2.5.1 API优化

    2.5.2 低网速下优化

    2.5.3 流量使用优化

    • 判断当前网络类型
    • 使用缓存

    2.6 单元测试

    3. App高级

    3.1 相关原理熟悉

    3.1.1 Activity

    • 启动流程
    • 生命周期回调原理
    • 与View/Window的关系
    • 与Fragment的关系

    3.1.2 View/Window

    • View/Window关系
    • View渲染
    • View事件分发处理流程

    3.1.3 编译打包

    • 编译打包原理
    • 逆向工程分析
    • 热修复

    3.2 Hybrid App

    3.2.1 与Native App的异同

    3.2.2 主流框架

    • PhoneGap
    • ionic
    • React Native

    3.3 架构能力

    3.3.1 架构

    • MVC
    • MVP
    • MVVM
    • Flux
    • Clean Architecture

    3.3.2 App框架

    • 分包
    • 分层

    3.3.3 设计模式

    • OOD原则
    • 常用设计模式运用

    3.4 ART&Dalvik

    • AOT compilation
    • GC
    • Bytecode&.Dex

    3.5 自动化测试

    • monkey/monkey runner
    • UIAutomator
    • Espresso
    • Robotium

    4. 扩展学习

    4.1 响应式编程

    4.1.1 Rx

    • RxJava
    • RxAndroid
    • RxBinding

    4.1.2 Agera

    4.2 主流开源库

    4.2.1 快速开发

    • Android Annotation
    • ButterKnife

    4.2.2 Views

    • 太多

    4.2.3 HTTP模型

    • Retrofit
    • OkHttp
    • Volley

    4.2.4 图片处理

    • Glide
    • Fresco
    • Picasso
    • UIL

    4.2.5 依赖注入

    • Dagger2

    4.2.6 数据库

    • ORMLite
    • GreenDAO
    • Realm
    • Sugar

    4.2.7 辅助

    • Logger
    • LeakCanary
    • DbInspector

    本文已上传至Github AndroidDevResources 项目, 欢迎Fork, 提出意见.


    相关文章

      网友评论

      • 拖着行李的蜗牛:能给相应的链接那就完美了
        anly_jun:@拖着行李的蜗牛 正在整理~ :smile: 敬请期待~
      • fendo:赞一个!
      • 于连林520wcf:不错哦
      • csong:这张图描述的比较全面,对知识面与各个阶段需要学习的知识范围有一定的指导作用,值得借鉴!
      • nbpzjy:弱弱地问一下,类似的图用什么工具来做?
        anly_jun:@nbpzjy 思维导图工具,例如xmind,mindmanager,mindnode都可以
      • zpayh:赞,这图片我能转来用么? :kissing_heart:
        zpayh:@anly_jun 好的
        anly_jun:@zpayh 欢迎转载, 转载请注明出处(本文地址, 或github资源地址https://github.com/mingjunli/AndroidDevResources/wiki/Android-App%E5%BC%80%E5%8F%91%E6%8A%80%E6%9C%AF%E5%9B%BE%E8%B0%B1), 谢谢.

      本文标题:Android App 开发技术图谱

      本文链接:https://www.haomeiwen.com/subject/ynqojttx.html