您的位置:首页 > 移动开发 > Android开发

成为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内核剖析》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  工程师 android