深读:
如:View、ViewGroup、AdapterView、ListView、GridView、Window、ViewDragHelper、ItemTouchHelper、SurfaceView、TextureView、VelocityTracker、GestureDetector、Scroller、ScrollerCompat、OverScroller等
浅读:
WMS、AMS、PMS、NMS、InputSystem等相关实现
1. Android事件分发机制:帮助你在写复杂自定义控件时协助解决事件冲突。
2. View的测量布局和绘制机制,熟练掌握画布Canvas API、Android坐标系、触控事件等,熟悉绘图技巧、熟悉滑动原理。
3. Android动画:熟练掌握动画Tween Animation、Frame Animation、Property Animation,有助于你写出交互体验好的自定义控件。
4. Android多线程通讯原理、线程控制、线程池、掌握Handler、Looper、ThreadLocal、Thread、Runnable、AsyncTask、HandlerThread、IntentService、Future、FutureTask、Callable等,掌握Java并发编程。
5.掌握Android进程间通讯原理,试着分析Binder工做机制。
5.了解Activity启动过程,能够从startActivity()一步一步分析源码,过程没必要拘泥于实现细节,掌握大体流程便可。
6.了解四大组件工做过程,和上面一个同样,从源码分析,一步一步来看WMS、AMS、PMS、NMS等如何经过binder完成进程间通讯。
7.了解window建立过程、掌握window添加删除更新机制。
8.理解Context;如Application对应的Context、Activity对应的Context、Service对应的Context以及Context之间的关系
9.掌握Android资源加载机制
用的比较多的Java辅助知识点:
1. 并发编程:线程池、ThreadLocal、Future、FutureTask、Callable等
2.Java动态代理(cglib/jdk)、反射
3.Java IO、集合类
4.序列化
5.注解
6.IOC和AOP
7.类加载器编程
几块须要看的多线程
1.handler looper 是咋工做的并发
2.touch事件的响应oop
3.view的绘制源码分析
4.viewgroup的测量与布局布局
5.四大组件经常使用方法的实现动画