Skip to content

Latest commit

 

History

History
614 lines (308 loc) · 6.39 KB

SUMMARY.md

File metadata and controls

614 lines (308 loc) · 6.39 KB

知识体系目录

零、方向

  • [移动端开发的未来方向](0. 方向/移动端开发的未来方向.md)

一、系统源码学习

  • 组件

    • 四大组件解析

      • Activity

        • Activity的启动过程

        • 启动流程和启动模式

        • 生命周期

        • 与Window/View的关系

        • 与Fragment的关系

      • Service

        • IPC(AIDL)、IntentService
      • ContentProvider全方位解析

      • BroadcastReceiver全方位解析

    • Fragment

      • 懒加载

      • 与Activity通信

    • Context详解

    • Window

      • Toast

      • Dialog

      • PopupWindow

      • PopupWindow和Dialog区别

    • WebView

      • [JSBridge](1. 系统源码/组件/WebView/JSBridge.md)

      • Deeplink

      • 首屏加速

      • 离线包

    • RecyclerView

      • 四级缓存+局部刷新

      • 与ListView比较

    • LinearLayout 和 RelativeLayout 相同层级下效率比较

  • 系统服务

    • ActivityManagerService

    • Window和WindowManager

    • WindowManagerService

    • ServiceManager

  • 流程

    • Android系统启动过程

      • system_server启动过程
    • Android Apk安装过程

    • Android应用进程启动

  • 通讯

    • WIFI

    • NFC

    • 蓝牙

二、架构能力

  • [设计模式](2. 架构能力/设计模式/设计模式.md)

  • 架构模式

    • MVP

    • MVVM

      • DataBinding
    • Flux

    • Clean Architecture

    • Android Architecture Components

    • Android Jetpack架构

  • App框架

    • 分包

    • 分层

三、开源库

  • [关于开源库一些想说的话](3. 开源库/关于开源库一些想说的话.md)

  • ORM框架

    • GreenDao

    • Room

  • 事件总线

    • EventBus

      • 4种模式、粘性事件

      • 观察者模式解耦

  • 网络

    • [Retrofit](3. 开源库/网络/Retrofit.md)

    • OKHttp

      • 拦截器(责任链模式)

      • 超时重传&重定向

      • Http缓存

      • Socket连接池复用

    • Volley

  • 图片

    • Glide

      • 生命周期控制

      • 二级缓存

      • BitmapPool复用

    • Fresco

    • Picasso

  • 依赖注入

    • [ButterKnife](3. 开源库/依赖注入/ButterKnife.md)

    • Dagger2

  • 序列化

    • Gson

    • FastJson

  • ARouter

  • 响应式编程

    • RxJava

      • 常用操作符

      • 线程调度

      • 异常处理

      • Flowable背压

    • RxBinding

    • RxAndroid

四、测试

  • 单元测试

    • robolectric
  • 自动化测试

    • UI自动化

    • Money

五、常见机制

  • 线程通信

    • Handler原理

    • AsyncTask

    • HandlerThread

    • IntentService

    • RxJava

  • 进程

    • IPC通信Binder

      • AIDL

      • 序列化

      • 匿名共享内存

    • lowmemorykiller 

    • 进程的优先级

  • View体系

    • 自定义控件

      • 事件分发机制

      • 自定义动画

      • Lottie动画解析库

      • 绘制

  • Android消息机制

  • 本地存储

    • Sqlite、SharedPreferences、文件
  • 资源管理系统、资源加载机制

六、基础能力

  • Java高级

    • 反射

    • 动态代理

    • NIO

    • 垃圾回收和GC

    • 多线程(并发锁)

    • 网络协议

    • 集合框架

  • 数据结构和算法

    • 线性表

    • 栈和队

      • 树的基础

      • 其他常见的树

      • 并查集

      • B-树,B+树,B*树

      • 图的基础

      • 拓扑排序

      • Kruskal算法、Prim算法、Dijkstra算法、Floyd算法

    • 散列查找

    • 排序

    • 海量数据处理

  • 操作系统

  • 计算机网络

    • DNS HTTP/1.x HTTPs HTTP/2 TCP 等网络协议知识

    • SSL

  • 虚拟机

    • JVM

    • ART & Dalvik

      • AOT compilation 

      • GC

      • Bytecode & Dex

七、进阶

  • 资源管理

    • 主题样式

    • 多分辨率适配

    • AssertManager

    • Resource

  • 打包

    • Gradle

    • 编译

    • 混淆

    • 签名

  • [AOP](7. 进阶/AOP/AOP.md)

  • 动态化

    • [聊聊移动端的动态化之路](7. 进阶/动态化/聊聊移动端的动态化之路.md)

    • 混合开发

      • React Native

      • Fuchsia+Flutter+Dart

      • weex

      • [JavaScript引擎](7. 进阶/动态化/混合开发/JavaScript引擎.md)

      • 渲染引擎

      • [布局引擎](7. 进阶/动态化/混合开发/布局引擎.md)

    • 插件化

      • class和dex学习

      • ClassLoader原理

        • 如何hook Activity启动流程

        • 双亲委派

      • 插件化原理

      • 插件化框架

    • [热修复](7. 进阶/动态化/热修复.md)

  • 大前端

    • Rect

    • Vue

    • 小程序

  • 组件化

    • 页面路由
  • 消息推送&保活

    • 长连接保活

      • 心跳包
    • 进程保活

  • NDK

    • 调用JNI方法

    • 回调JAVA方法

    • CMAKE语法

    • NDK MakeFile语法

  • 安全

    • root原理

    • 二进制漏洞挖掘

    • 经典的漏洞研究如cve20143153 cve20153636之类

    • poc和exp

    • 逆向

      • arm汇编

      • smali字节码

      • dex和ELF结构

      • 安卓和Linux调试体系和反调式体系

      • 加固与反加固

      • Hook

  • 多媒体

    • 图片

      • 图片处理

      • 动画

      • 图片加载

    • 音视频

      • 音频编解码

      • AudioTrack播放

      • 视频解码

      • OpenGL绘制

      • 视频编辑转码

      • 视频滤镜

  • 性能优化

    • 启动时间和冷启动优化

      • 避免启动白屏
    • Crash 收集分析

    • 卡顿检测和优化

      • ARR

      • 避免频繁GC

      • ViewHolder

    • 布局优化

      • include、merge、ViewStub的使用
    • 线程优化

    • 监控

      • 埋点

      • APM性能检测

      • WebView性能监控

      • leakcanary内存泄露监控

    • 内存优化

      • OOM

      • 内存泄露

      • 图片压缩

      • 内存分析

    • apk瘦身

    • 电量优化

    • 网络优化

      • 网络调试

      • 低网速优化

      • API优化

      • 流量优化

  • 持续集成

    • Jenkins

八、其他

  • Python

  • Linux

    • kernel源码

    • SELinux

  • Docker

九、Android 书籍

  • 入门

    • 第一行代码

    • Android群英传

    • Android编程权威指南

    • Android编程实战

  • 进阶

    • Android开发进阶从小工到专家

    • 深入理解Android

    • Android组件化架构

    • App研发录

    • Android 进阶解密

    • Android 进阶之光

  • 源码

    • Android源码设计模式解析与实战

    • Android开发艺术探索

    • Creating Dynamic UI with Android Fragments

  • 安全

    • Android安全架构深究

    • Android软件安全与逆向分析

  • 底层

    • Android系统源代码情景分析

    • Android内核剖析

    • 深入理解Android内核设计思想

十、T型成长

  • 团队管理

    • 敏捷

    • Devops

    • CodeReview

    • [代码质量与代码规范](10. T型成长/团队管理/代码质量与代码规范.md)

  • 自我管理

  • 后端

    • 领域驱动设计

    • 微服务

十一、语言

  • Kotlin

  • C、C++(NDK)

  • SQL(DB)