Android App 开发技能图谱

优质
小牛编辑
138浏览
2023-12-01

操作系统

  • 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