1. java 必备知识(排序不分先后)
- 反射(iOS中与运行时runtime类似)
- 动态代理(cglib和原生)
- 异常处理
- 多线程知识(线程池等)
- 编译时注解
2 android 框架
- mvp 个人比较喜欢的
- mvvm 最近实践,在某些方面比mvp更优秀
- flux(facebook)感觉有点过重,解耦较彻底
3 一些进阶细节知识(参见艺术探索)
- Activity 启动模式
- Binder
- 自定义View、动画( xfmode、Path、 PathMeature、canvas等)
- 多进程一些问题处理
- 四大组件加载过程(插件化时,会遇到)
- View事件体系(责任链机制,事件分发和处理、拦截和iOS基本上一致的,很神奇是不是)
- webview和javascript 互调即混合框架处理
- jni使用。
- 异步消息处理
4. 源码阅读
- 网络框架: okhttp、volley
- ImageLoader: 、UIL、 Glide、 Picasso
- 注入框架; Butterknife、Dragger2
- orm: GreenDao、flowDB
- contextImp、Window、WindowManager
- ffmpeg源码流程及部分优化
5. 工作中经常遇到的问题
- crash 处理
- log统计
- 自动打包
- 分包(方法数超过65535限制)
- 动态插件(动态资源加载、方法替换 、ClassLoader等 )
- 代码规范及重构
- git或svn版本管理,团队开发
待续ing
参考
- 任教主的《Android开发艺术探索》
- http://blog.csdn.net/qinjuning/article/details/7110211/ 一位低调的大神