第一章 移动架构师筑基必备Java技能
1、深刻Java泛型
泛型的做用与定义
通配符与嵌套
泛型上下边界
RxJava中泛型的使用分析html
2、注解深刻浅出
2.1 自定义注解
自定义注解与元注解
注解参数与默认值android
2.2 注解的使用
APT,编译时注解处理器
插桩,编译后处理筛选
反射,运行时动态获取注解信息web
3、并发编程
3.1 线程共享和协做
CPU核心数,线程数,时间片轮起色制解读
synchronized、Lock、volatile、ThreadLocal如何实现线程共享
Wait,Notify/NotifyAll,Join方法如何实现线程间协做面试
3.2 站在巨人肩上操做CAS
CAS的原理
CAS带来的ABA问题之原子操做类的正确使用实战算法
3.3 仅会用线程池是不够的
Callbale、Future和FutureTask源码解读
线程池底层实现分析
线程池排队机制
手写线程池实战
Executor框架解读实战数据库
4、数据传输与序列化
5、Java虚拟机原理
5.1 垃圾回收器机制
对象存活及强、弱等各类引用辨析
快速解读GC算法之标记-清除、复制及标记-整理算法
正确姿式解读GC日志编程
5.2 内存分配策略
JVM栈桢及方法调用详解
JMM,Java Memory Model小程序
6、反射与类加载
6.1 反射基本概念与Class
三种获取Class对象的方式
获取构造器实例化对象与属性信息
包信息和方法
Hook技术动态编程vim
6.2 ClassLoader类加载器
动态代理模式
Android Davilk与ART
PathClassLoader、DexClassLoader与BootClassLoader
双亲委托机制微信小程序
7、高效IO
7.1 Java IO 体系
装饰者模式
InputStream与OutputStream
Reader与Writer
7.2 File文件操做
FileChannel
内存映射
第二章 Android框架体系架构
1、高级UI晋升
1.2 View渲染机制
1.3 经常使用View
1.3.1.1 源码解析
1.3.1.2 布局管理器LayoutManager
1.3.1.3 条目装饰ItemDecoration
1.3.1.4 ViewHolder与回收复用机制
1.3.2.1 源码解析
1.3.2.2 圆角阴影实现原理
1.3.2.3 5.0如下阴影与边距的适配
1.3.3.1 加载机制与优化
1.3.3.2 与Fragment的结合
1.3.4.1 使用与原理
1.3.4.2 js与Java交互
1.3.4.3 多进程WebView使用实战
1.3.4.4 WebView和Native的通讯框架手写实战
1.4.1 ConstraintLayout
1.4.2 LinearLayout
1.4.3 RelativeLayout
1.4.4 FrameLayout
1.4.5 GridLayout
1.5 自定义View实战
1.5.6 组合自定义View实战
1.5.7 继承自定义View实战
1.5.8 彻底自定义view实战
2、Android组件内核
2.1.1 四大启动模式与Intent Flag
2.1.2 APK启动流程与ActivityThread解析
2.1.3 Activity生命周期源码解析
2.1.4 实战Splash广告载入与延时跳转
2.2.1 Fragment事务管理机制
2.2.2 Fragment转场动画
2.2.3 嵌套处理,ChildFragmentManager
2.3.1 start与bind区别与原理
2.3.2 自带工做线程的IntentService
2.3.3 前台服务与Notify
2.4 组件间通讯方案
2.4.6 实战:自动感知生命周期事件总线LiveDataBus
3、大型项目必备IPC
3.1.1 AIDL配置文件
3.1.2 C/S架构Binder原理
3.1.3 Messager
3.1.4 实战告别繁琐的AIDL,进程通讯框架原理与实现
3.2.1 Broadcast
3.2.2 ContentProvider
3.2.3 文件
3.2.4 Socket
3.2.5 共享内存与管道
4、数据持久化
4.1 Android文件系统
4.2.1 Shared Preference原理
4.2.2 微信MMKV原理与实现
4.2.2.1 MMAP内存映射
4.2.2.2 文件数据结构
4.2.2.3增量更新与全量更新
4.3.1 SqliteOpenHelper
4.3.2 Sqlite升级与数据迁移方案
4.3.3 实战注解ORM数据库框架
5、Framework内核解析
5.1 XMS内核管理
5.1.1 .1 Activity管理
5.1.1.2 实战插件化核心启动未安装Activity
5.1.2.1 Windows体系
5.1.2.2 悬浮窗工具实现
5.1.4 实战插件化框架原理与实现
5.2.1 Looper
5.2.2 Message链表与对象池
5.2.3 MessageQueue消息队列与epoll机制
5.3.1 LayoutManager加载布局流程
5.3.2 Resource与AssetManager
5.3.3实战海量网易云焕肤系统,加载外部APK资源
第三章 360°全方面性能调优
1.1 六大原则
(1)单一职责原则
(2)开闭原则
(3)里氏替换原则
(4)依赖倒置原则
(5)接口隔离原则
(6)迪米特法则
1.2 设计模式
1.2.1结构型模式
(1)桥接模式
(2)适配器模式
(3)装饰器模式
(4)代理模式
(5)组合模式
1.2.2建立型模式
(1)建造者模式
(2)单例模式
(3)抽象工厂模式
(4)工厂方法模式
(5)静态工厂模式
1.2.3行为型模式
(1)模板方法模式
(2)策略模式
(3)观察者模式
(4)责任链模式
(5)命令模式
(6)访问者模式
1.2.4实战设计模式解耦项目网络层框架
1.3 数据结构
1.3.1 线性表ArrayList
1.3.2 链表LinkedList
1.3.3 栈Stack
1.3.4 队列
(1)Queue
(2)Deque
(3)阻塞队列
1.3.5 Tree
(1)平衡二叉树
(2)红黑树
1.3.6 映射表
(1)HashTable
(2)HashMap
(3)SparseArray
(4)ArrayMap
1.4 算法
1.4.1 排序算法
(1)冒泡排序
(2)选择排序
(3)插入排序
(4)快速排序
(5)堆排序
(6)基数排序
1.4.2 查找算法
(1)折半查找
(2)二分查找
(3)树形查找
(4)hash查找
2、程序性能优化
2.1 启动速度与执行效率优化
2.2 布局检测与优化
2.3 内存优化
2.4 耗电优化
2.5 网络传输与数据存储优化
2.6 APK大小优化
3、开发效率优化
3.2自动化构建系统Gradle
(1)多渠道打包
(1)发版自动钉钉
第四章 设计思想解读开源框架
1、热修复设计
1.4 Gradle自动补丁包生成
2、插件化框架解读
3、组件化框架设计
4、图片加载框架
4.1 图片加载框架选型
4.2 Glide原理分析
4.2.2 从源码的角度理解Glide的执行流程上篇、下篇
4.3 手写图片加载框架实战
5、网络访问框架设计
5.1 网络通讯必备基础
5.1.5.1 SOCKS代理
5.1.5.2 HTTP普通代理与隧道代理
5.2 OkHttp源码解读
6、RXJava响应式编程框架设计
7、IOC架构设计
7.2 ButterKnife原理上篇、中篇、下篇
8、Android架构组件Jetpack
8.2 Navigation如何解决tabLayout问题
第五章 NDK模块开发
1、NDK基础知识体系
1.1 C与C++
1.1.6线程
1.1.7类
1.1.7.1函数、虚函数、纯虚函数与析构函数
1.1.7.2初始化列表
1.2JNI开发
1.3Native开发工具
1.3.4.1Cmake
1.3.4.2Makefile
1.3.4.2FFmpeg交叉编译
1.3.4.2X26四、FAAC交叉编译
1.3.4.2解决全部移植问题
1.4Linux编程
2、底层图片处理
3、音视频开发
3.1多媒体系统
3.2FFmpeg
3.3流媒体协议
3.6实战项目二:抖音视频app
4、机器学习
4.1 Opencv
4.1.1.1灰度化、二值化
4.1.1.2腐蚀与膨胀
第六章 微信小程序
1、小程序介绍
2、UI开发
3、小程序项目实战
第七章 Flutter
1、你好,Flutter
2、Flutter 编码语言Dart详解系列
3、Flutter框架原理与使用技巧
实战发布本身的Flutter库
4、Flutter架构知识落地实现
第八章 架构师炼成实战
1、架构设计
模块化与组件化架构
3、新闻客户端项目实战
4、多格式播放器项目实战
第九章 数据结构与算法
最后
Alvin老师已经将精品网课、书籍、BAT面试文档、项目专题源码等资料已分享在网盘中,并在持续更新中。欢迎关注Alvin老师微信号VX:Android-Alvin 前往领取!