准备
- Android历史
- Android已发布版本及更新历史
- 开发语言:Java基础、C++基础(JNI)
- 系统架构简介
- 开发环境、AndroidStudio简单使用,AS插件使用,命令行工具
基础
- 界面:四大组件、布局、UI组件、自定义view、动画
- 网络:okhttp、Gson等
- 数据持久化:SharedPreference、SQLite、文件等
- 进程、线程、同步、异步
- 辅助开发工具的使用:依赖管理Maven、构建工具Gradle、Crash处理、调试、日志
- APP打包、上传、升级
进阶
Framework底层代码角度重新思考Android开发
- AIDL、Binder、多进程
- 事件分发、view
- handler、looper、MessageQueue
- 动画细节
- 性能优化
- JNI
- 开源框架、开源库:OKhttp、EventBus、Retrofit等
- 注解
- 优化工具:Hierarchy Viewer、OOM检测优化工具MAT、Lint
- 设计模式、架构
- Activity启动模式、标记位、Intent Filter
- Service启动、绑定
- 多线程:AsyncTask、HandlerThread、IntentService
- 线程池
系统核心机制
- AMS、PMS
- Window和View的关系
- 四大组件工作过程(Activity启动过程)
- SystemServer启动过程
其他
需求不同,需要掌握的技术不同
- 硬件调用相关(传感器、定位等)
- 持续集成
- 版本管理Git
- Material Design
- 第三方服务:
广告、Crash、统计、应用分发、数据存储、推送、分享、便捷登录、Google Play服务 - Android安全、反编译
- 增量更新、热更新
- 插件化
学习资源
看
书籍、博客、Android training & guide、源码
写(总结很重要)
博客、笔记