阅读 390

资深Android开发工程师技术栈(更新中)

测试树状图
├── README.md
├── package.json
└── src
    ├── common
    │   └── XInput.vue
    ├── index.js
    └── utils
        ├── auto-require.js
        ├── index.js
        └── types.js
复制代码

专业技能梳理

android

基础

  • 四大组件及生命周期
  • 应用启动流程
  • 消息机制、handler + Message
  • AMS
  • PMS
  • WMS

多线程编程

  • 线程池

    • 基本概念

      • 核心数
      • 线程数
      • 时间片轮转机制
    • 线程共享和协作

      • Callbale
      • Future
      • FutureTask
      • Lock
      • Synchronized
      • volitile
    • 各类线程池区别

    • 底层实现分析

    • 任务排队机制

  • AsyncTask

  • ThreadLocal

IPC

  • AIDL

  • Binder

  • 数据参数和序列化

    • Serilizable
    • Parcelable
    • Json

高级UI

  • Touch事件分发机制

  • View的绘制流程及原理

    • RecyclerView
    • TabView
    • ConstraintLayout
    • RemoteView
  • Paint/Cavans高级绘制

    • Paint画笔高级应用
    • Paint-滤镜、XFERMode
    • Cavans高级技巧 - 变换/状态保存/粒子特效等
    • Cavans其他案例
    • 贝塞尔曲线及计算规则
    • 基于PathMeasure源码Path测量问题
  • 属性动画

  • 高级UI实战

    • MaterialDesign

      • MaterialDesign 交互设计
      • 自定义RecycelrView
      • CoodinatorLayout原理应用 + NestedScrolling组合完成下拉特效
      • 沉浸式设计 cardView源码分析和兼容原理
    • 自定义Veiw

      • 自定义控件
      • 手写RecyclerView
      • SVG矢量图形打造不规则的控件
      • PathMeature高级使用

本地存储

  • SP、数据库、文件

安全&权限

JNI和NDK

  • JNI开发

    • JNI基本概念
    • SO动态库介绍
    • JNI动态注册与静态注册
    • JNI类型与数据结构
  • DNK开发

    • 基本概念
    • Build工具
    • Cmake工具
    • JNI.h介绍
    • Logging
    • JNI Env介绍
  • 实战

    • 图片高斯模糊算法
    • 图片Base64编解码
    • JPG图片压缩算法

单元测试

Java

动态代理

注解相关

  • 注解
  • APT 编译时注解处理器
  • 插桩
  • 运行时动态获取注解信息-反射

反射

  • 三种获取Class对象的方式
  • 获取构造器实例化和属性信息、包信息和方法
  • Hook技术动态编程

ClassLoader

  • PathClassLoader
  • DexClassLoader
  • BootClassLoacder

内存模型

GC原理&调优

内存分配策略

Dvlik

数据结构

  • List
  • HashMap
  • ConcurrentHashMap

IO

性能优化

启动、流畅度、内存、功耗、APK瘦身、ANR

网络深度优化

常用工具

网络编程

http、https、DNS、证书

TCP/IP协议

常用算法

完整项目

架构设计

统计模块

线上版本监控体系

  • Bugly
  • 功能异常上报系统

日志打捞系统

PUSH

保活

自升级

热修复

动态UI

云配置

网络模块

重试机制

技术视野

Jetpack

  • 组件库概览
  • ConstraintLayout约束布局
  • dataBinding
  • Lifecycle
  • LiveData
  • Navigation
  • Paging
  • Room
  • ViewModel
  • WorkManager
  • StartUp

混合开发,web

Flutter

Kotlin

  • 语句基础
  • 泛型编程
  • 协程Coroutines并发编程

热修复&Webp

  • 子主题 1

架构设计

UML建模

设计模式

模块化

组件化

插件化

开源框架

事件总线

  • EventBus

网络框架

  • OKHttp
  • Vollery
  • Retrofit

图片框架

  • Glide
  • Frescp
  • Picasso

视频

  • ExoPlayer

数据库框架

  • ROOM
  • GreenDao
  • Realm

IOC框架设计

  • Java文件结构化文本详解
  • ButterKnife
  • Dagger2

插件化框架

安全加固方案

响应式编程

  • RX系列
  • Agera

性能优化

  • LeakCanary

XMind - Trial Version

文章分类
Android
文章标签