我们都知道 Android 技术体系一直很庞大,刚开始学的时候基本是从一个点一个点开始,没有系统全局观概念,同时也是学不过来,从做上层应用开始,到做 Framework 层,然后再到系统层做驱动开发各个层面的开发者都有,绝大部分开发者都是从应用层开发,往往做到 Framework 层就浅尝辄止了,一直以来,做Android 开发有这么两个说法,如果是做应用开发,往应用架构方向发展比较合适,如果是做系统层开发,往往底层驱动比较合适。
初级学什么
- Android基础
- Application生命周期
- Android Activity生命周期
- Android Service、IntentService,Service和组件间通信
- Activity的onNewIntent
- Fragment的懒加载实现,参数传递与保存
- ContentProvider实例详解
- BroadcastReceiver使用总结
- Android消息机制
- Binder机制,共享内存实现原理
- Android 事件分发机制
- Android 多线程的实现:Thread、HandlerThread、AsyncTask、IntentService、RxJava
- ActivityThread工作原理
- 嵌套滑动实现原理
- RecyclerView与ListView(缓存原理,区别联系,优缺点)
- View的绘制原理,自定义View,自定义ViewGroup
- View、SurfaceView 与 TextureView
- 主线程Looper.loop为什么不会造成死循环
- ViewPager的缓存实现
- requestLayout,invalidate,postInvalidate区别与联系
- AndroidP新特性
- Android两种虚拟机
- ADB常用命令
- Asset目录与res目录的区别
- Android SQLite的使用入门
Android高级学什么
1.扎实的java基础,尤其是多线程和java中的数据结构。
2.精通java中常用的基础算法。
3.开发基础良好,深入理解设计模式,能够根据实际设计较好的应用架构。
4.熟悉网络通信协议,对tcp/Ip和Http有较深刻的理解和经验。
5.对Android 系统的原理了解深刻,熟悉Android系统中的常见的service 模块(ActivityManagerService,WindowManagerService,PacketManager,ResourceManager)
6.熟悉app的启动流程,和Android系统的启动流程。
7.对内存优化,性能优化,电量优化等有丰富经验,,熟悉主流手机平台下的高性能编程及性能调优。
最后送福利了,现在关注我可以获取包含源码解析,自定义View,动画实现,架构分享等。
内容难度适中,篇幅精炼,每天只需花上十几分钟阅读即可。
大家可以跟我一起探讨,有flutter—底层开发—性能优化—移动架构—资深UI工程师 —NDK相关专业人员和视频教学资料,还有更多面试题等你来拿
加入社区》https://bbs.youkuaiyun.com/forums/4304bb5a486d4c3ab8389e65ecb71ac0
s://bbs.youkuaiyun.com/forums/4304bb5a486d4c3ab8389e65ecb71ac0