Android技术栈
基础
Java基础
- 符号集、数据类型、常量、变量、表达式语句
- 继承、多态,序列化
Android基础
-
四大组件及其生命周期
- Activity
- Service
- Broadcast Receiver
- Content Provider
-
Intent、Application、Fragment
-
基本View的属性和使用,MD设计
- 事件体系:触摸、滑动、传递
- 绘制流程:MeasureSpec、Measure、layout、draw
- 动画机制:逐帧动画、补间动画、属性动画
-
资源访问,不同语言、屏幕、API适配原理
-
Handler的基本使用
-
数据存储
- SharedPreference
- SQLite
- 文件存储
-
系统API使用
-
异步处理技术
- Thread
- AsyncTask
- HandlerThread
- IntentService
-
网络框架基本使用
- http
- okhttp
- retrofit
-
多媒体技术
- 系统API特性及使用
- Glide框架
-
常用设计模式:单例、观察者、工厂
-
事件总线:EventBus
-
文件下载:DownloadManager
-
构建与版本控制
-
Gradle
- 共享变量的定义
- aar函数库的应用
- 签名和混淆配置
-
Git
- git基本命令
- Gitflow开发流程
-
Maven
- Maven Central
- JCenter
进阶
Java进阶
- 泛型、反射、枚举、字节码
- 多线程、并发机制、虚拟机特性、集合原理
View进阶
- 事件分发、滑动冲突
- 自定义View、Drawable
Android注解
- 标准注解
- 运行时注解:Retrofit
- 编译时注解:Dagger2
多媒体进阶
- FFMPEG
- 图片压缩原理
- 录制编辑机型适配
- 音视频编解码原理
- SurfaceView特性
数据库进阶
- SQL,索引,表联查,GreenDao,ORM、数据库锁
设计模式
- 掌握23种设计模式
- 熟悉SOLID基础设计原则
架构模式
- MVC、MVP、MVVM
- 插件化、模块化、动态部署
版本特性
- 权限管理:熟悉各版本权限差异变化
- doze模式:了解Android打盹模式
IPC机制
- Android多进程模式
- 基础概念:序列化和Binder
- 跨进程通信方式:Bundle、文件共享、Messenger、AIDL、ContentProvider、Socket
JNI和NDK编程
性能优化
- 布局优化,绘制优化
- listview和bitmap优化
- 内存泄漏优化
- 响应速度优化和ANR日志分析
- 线程优化
Hybrid混合开发
- WebView与Js相互调用
自动化构建
- Jenkins+Gradle持续集成
热修复方案
- 基本流程和工作原理
- Sophix、Tinker、Robust、Amigo
AOP面向切面编程
- AspectJ
拓展
- Kotlin(Android官方支持开发语言)
- React Native
- Flutter