成为Android工程师的基本要求
2017-06-09 16:54
387 查看
1. 初级Android工程师(1年)
官方文档 : traning,guide 阅读一遍
做笔记
动手抄几个例子(看API Demos)
四大组件
如何创建Service
如何进行布局
简单的自定义View
动画
2. 中级Android工程师(1-2年)
AIDL :熟悉AIDL 理解原理 懂transact和onTransact的区别
Binder:从Java层大概理解Binder的工作原理,懂Parcel对象的使用。
多线程:熟练掌握多进程的运行机制,懂Messenger、Socket等;
事件分发:弹性滑动、滑动冲突等;
玩转View:View的绘制原理、各种自定义View;
动画系列:熟悉View动画和属性动画的不同点,懂属性动画的工作原理;
懂性能优化、熟悉mat等工具
懂点常见的设计模式
自定义View :我的建议是不要通过学习自定义view而学习自定义view。为什么这么说呢?因为自定义view的种类太 多了,各式各样的绚丽的自定义效果,如何学的玩呢!我们要透过现象看本质,更多地去关注自定义view所需的知 识点,这里做如下总结:
搞懂view的滑动原理
搞懂如何实现弹性滑动
搞懂view的滑动冲突
搞懂view的measure、layout和draw
我个人认为通过《Android开发艺术探索》和《Android群英传》可以缩短这个过程为0.5-1年。
技术要求:
稍微深入的知识点:
AIDL、Messenger、Binder、多进程、动画、滑动冲突、自定义View、消息队列等
3. 高级Android工程师(3-5年)
继续加深理解”稍微深入的知识点“中所定义的内容
AIDL、Messenger、Binder、多进程、动画、滑动冲突、自定义View、消息队列等
了解系统核心机制:
1. 了解SystemServer的启动过程
2. 了解主线程的消息循环模型
3. 了解AMS和PMS的工作原理
4. 能够回答问题”一个应用存在多少个Window?“
5. 了解四大组件的大概工作流程
6. ... ...
基本知识点的细节
1. Activity的启动模式以及异常情况下不同Activity的表现
2. Service的onBind和onReBind的关联
3. onServiceDisconnected(ComponentName className)和binderDied()的区别
4. AsyncTask在不同版本上的表现细节
5. 线程池的细节和参数配置
6. …
熟悉设计模式,有架构意识
学习方法:
这个时候已经没有太具体的学习方法了,无非就是看书、看源码和做项目,平时多种总结,尽量将知识融会贯通从而形成一种体系化的感觉。同时这个阶段对架构是有一定要求的,架构是抽象的,但是设计模式是具体的,所以一定要加强下设计模式的学习。关于设计模式的学习,最近一本新书推荐给大家《Android 源码设计模式解析与实战》,既可以学习设计模式,又可能体会到Android源码中的设计思想,我最近也在阅读此书。
高级Android工程师技术要求:
- 稍微深入的知识点
- 系统核心机制
- 基本知识点的细节
- 设计模式和架构
书籍推荐
《Android开发艺术探索》、《Android 源码设计模式解析与实战》、《Android内核剖析》
官方文档 : traning,guide 阅读一遍
做笔记
动手抄几个例子(看API Demos)
四大组件
如何创建Service
如何进行布局
简单的自定义View
动画
2. 中级Android工程师(1-2年)
AIDL :熟悉AIDL 理解原理 懂transact和onTransact的区别
Binder:从Java层大概理解Binder的工作原理,懂Parcel对象的使用。
多线程:熟练掌握多进程的运行机制,懂Messenger、Socket等;
事件分发:弹性滑动、滑动冲突等;
玩转View:View的绘制原理、各种自定义View;
动画系列:熟悉View动画和属性动画的不同点,懂属性动画的工作原理;
懂性能优化、熟悉mat等工具
懂点常见的设计模式
自定义View :我的建议是不要通过学习自定义view而学习自定义view。为什么这么说呢?因为自定义view的种类太 多了,各式各样的绚丽的自定义效果,如何学的玩呢!我们要透过现象看本质,更多地去关注自定义view所需的知 识点,这里做如下总结:
搞懂view的滑动原理
搞懂如何实现弹性滑动
搞懂view的滑动冲突
搞懂view的measure、layout和draw
我个人认为通过《Android开发艺术探索》和《Android群英传》可以缩短这个过程为0.5-1年。
技术要求:
稍微深入的知识点:
AIDL、Messenger、Binder、多进程、动画、滑动冲突、自定义View、消息队列等
3. 高级Android工程师(3-5年)
继续加深理解”稍微深入的知识点“中所定义的内容
AIDL、Messenger、Binder、多进程、动画、滑动冲突、自定义View、消息队列等
了解系统核心机制:
1. 了解SystemServer的启动过程
2. 了解主线程的消息循环模型
3. 了解AMS和PMS的工作原理
4. 能够回答问题”一个应用存在多少个Window?“
5. 了解四大组件的大概工作流程
6. ... ...
基本知识点的细节
1. Activity的启动模式以及异常情况下不同Activity的表现
2. Service的onBind和onReBind的关联
3. onServiceDisconnected(ComponentName className)和binderDied()的区别
4. AsyncTask在不同版本上的表现细节
5. 线程池的细节和参数配置
6. …
熟悉设计模式,有架构意识
学习方法:
这个时候已经没有太具体的学习方法了,无非就是看书、看源码和做项目,平时多种总结,尽量将知识融会贯通从而形成一种体系化的感觉。同时这个阶段对架构是有一定要求的,架构是抽象的,但是设计模式是具体的,所以一定要加强下设计模式的学习。关于设计模式的学习,最近一本新书推荐给大家《Android 源码设计模式解析与实战》,既可以学习设计模式,又可能体会到Android源码中的设计思想,我最近也在阅读此书。
高级Android工程师技术要求:
- 稍微深入的知识点
- 系统核心机制
- 基本知识点的细节
- 设计模式和架构
书籍推荐
《Android开发艺术探索》、《Android 源码设计模式解析与实战》、《Android内核剖析》
相关文章推荐
- 成为Android高手必须掌握的8项基本要求.路就在,看你走不走le
- 成为Android高手必须掌握的8项基本要求
- 成为Android高手必须掌握的8项基本要求
- 成为Android高手必须掌握的8项基本要求
- linux运维工程师的基本要求
- Android Audio BSP工程师需要清楚的基本知识点
- android高级开发工程师基本素质
- Android 逆向工程师要求
- 成为CIO的基本要求
- 深度学习工程师就业基本要求
- Android高级工程师所要达到的技术要求
- 如何成为一名合格的Android工程师?
- Java高级工程师的基本要求
- Android 开发工程师招聘要求
- 成为android工程师的30+个小技巧
- 嵌入式linux驱动工程师的基本要求
- 系统运维工程师的基本要求
- Android:职业路线—如何成为高级工程师
- [置顶] 成为Android高级工程师看这里就够了
- 大公司高级Android工程师技能要求