前言
对于一个资深的Android开发者需要掌握哪些技能?在这给出一些看法和分享。文末还有分享一些Android工程师必备学习的架构视频资源福利以及架构面试专题文档和架构学习笔记等,资料福利都是免费分享!!!如果资源不错的话,你可以回来给我点个赞,感谢您的支持。
一位资深的Android开发者已经是达到了高开及架构层面,所需要负责的工作及技能要求也会是一定高度的要求,下面说说Android架构师所需具备的技能体系及学习路线分享!
Android架构师主要需要做哪些工作呢?
- 负责公司智能硬件设备的基础软件平台的架构工作;
- 负责跨MTK、高通平台的Android BSP架构的设计;
- 负责业务端APP的架构设计、性能调优、疑难问题的分析和解决工作;
- 负责Android平台新技术的研究,构建高效率、高性能、可扩展的组件,完善开发框架。
技能要求:
- 深度理解Android平台架构、主要组成和工作模式;
- 有linux内核、framework和jni、虚拟机、安全逆向等底层技术经验;
- 深入理解设计模式,能够设计出高內聚,低耦合的系统框架,提升开发效率;
- 具有比较强的客户端系统架构设计能力,在通用性、跨平台和复用性方面有深刻的理解;
- 有大型软件架构设计和重构经验。
架构师要学习哪些知识呢?
希望以下的学习路线能对你有帮助
Java语言进阶与Android相关技术内核
- 泛型原理与Android网络应用原理
- 无所不能的反射原理及Android类加载核心
- Java虚拟机原理
- 线程池原理及技能拔高
- Java I/O核心原理及其在Android中的内核应用
- 注解原理与dagger2/retrofit的密切关系
- 序列化与数据自动解析原理

App开发框架知识体系
Activity相关实体知识体系
• Task启动原理与调用栈内核
• 生命周期与内核管理原理
• ViewGroup源码解析
• View源码分析与高级自定义View项目实战
• 事件分发的核心机制
• Handler通信原理与框架手写
• Intent数据传递原理和内核
• Hook Resource源码实现
Fragment 内核
• Fragment事务管理机制与控件混合应用原理
• Fragment事务管理的原理
Service 内核原理
• 生命周期及AMS关系
• 两种启动方式启动原理
• 基于内核的应用实战
• Service进程优先级调优与实战
• Service职责原理
实体间的通信方案
实体中数据存储专题
Android app全方位性能调优
代码框架结构优化
- 不可思议的OOM
- ANR暴露了我们程序的问题
- 网络请求API优化
- View过渡渲染层级优化
- Profiler
- 设计模式
- 数据结构
- 排序算法
用户体验及资源消耗优化
- 启动速度优化
- 界面切换效果和速度优化
- 开机白屏用户体验优化
- 闪屏的原理和解决方案实战
- 图片库的选择
- 耗电优化
- apk打包流程以及安装包大小优化
- 网络优化
屏幕适配
- 布局适配
- 权限适配
- 相机适配
代码质量调优
- 代码风格静态检查CheckStyle
- Findbug自动化设备检查代码质量
- Lint
Android前沿技术
- 热升级
- 热修复
- App Instant
- 强制更新
- 组件化框架设计
- 图片加载框架设计
- 网络访问框架设计
- RXJava响应式编程框架设计
- IOC架构设
- 2018 Google I/O 大会最新技术及技术更新
- Hook技术
NDK 模块开发
基础开发流程
- C编程
- C++编程
- JNI开发
- NDK基础
- Linux编程
图像处理与热修复应用
- png图片压缩
- jpg图片压缩方案
- 微信图片压缩解决方案
- 微信斗图中带文字的gif动态图合成原理及其手写实现
- 手写阿里云andfix热修复与Sophix原理分析(class字节码在虚拟机加载流程,探索起源之java方法调用底层分析)
音视频开发应用
- 编解码原理
- 流媒体协议
- 项目实战一:电台直播app
- 实战项目二:抖音视频app
人工智能应用
- 图像处理库 Opencv
- 人脸检测
- 人脸识别
- 人脸搜索
- 人体识别
- 身份证识别
- 车牌号识别
- 银行卡识别
提高开发效率的工具运用
Git
Gradle
- Groovy
- Android build tool
- 插件开发
- 项目实战
- 多渠道打包
- APK自动上传
抓包工具 stetho
- 网络抓包
- 数据库查看
- 布局层级查看
微信小程序
- UI开发
- API操作
- 微信对接
Flutter
- 原生开发与跨平台技术
- 初识Flutter
- Flutter开发环境搭建
Flutter 编码语言Dart详解系列
- 一切皆对象,Dart面向对象的原理解析
- Dart中变量,函数,操作符,异常等语法与java原理对比
- 类的机制
- 初始化列表规则
- 命名构造方法
- 常量构造方式
- 工厂构造特征
- Mixin
Flutter框架原理与使用技巧
- widget控件详解:text,image,button
- 布局分析:Linear布局,弹性布局,流水布局
- 如何自定义View
- 动画/手势交互
- 多线程开发原理
- 网络请求原理
- Flutter架构与原生代码的交互
- 实战发布自己的Flutter库
点赞+转发后 私信回复【666】即可获得Android高级工程师全套学习资料!