安卓基础
- Android Activity生命周期
- Application生命周期
- 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开发高级
注:
Android高级工程师招聘要求:
1.熟悉Android SDK,熟悉Android UI,熟悉Android各种调试工具;
2.有丰富的Android应用架构能力,能够独立主导并架构App;
3.Mobile Web 开发经验;具备各种复合技能:熟悉iOS、H5、Python、.NET等多
种开发语言的优先考虑;
4.对Android性能优化,安全,软件加固,自动化测试有深刻认识;
5.博客,开源项目
Android技术难点
AIDL、Binder、多进程、View的绘制流程、事件分发、消息队列等。
这类知识对于定位自己为高级Android工程师的人来说是必须掌握的,同时他也是能鉴别高级和初中级工程师的一块试金石,其中binder是Android系统进程间通信最重要的手段之一,现阶段app的发展离不开多进程的运用,经常会启动例如定位、推送等需要在后台开启动的进程来来保证主进程的内存运行;所以合理的使用多进程也是十分必要的;view的绘制是我们自定义控件的理论基础,只有掌握了view是如何绘制的才能个性化的自定义控件;事件分发一直是Android开发的难点之一,也是必须掌握的;关于handler机制也是android的一块难点,因为包括Asynctask、系统启动、Intentservice等底层都是通过handler来实现的,所以掌握后handler机制不仅能提高你的实战开发能力,更能让你系统的了解整个android系统运作的情况。
Android框架层源码掌握
- Android包管理机制,核心PackageManagerService
- Window管理,核心WindowManagerService
- Android Activity启动和管理,核心ActivityManagerService
- 根Activity工作流程
- Context关联类
- 各种原理,经典第三方库源码系列
- 自定义LayoutManager,RecyclerView中如何自定义LayoutManager
- VLayout实现原理,即如何自定义LayoutManager
- Glide加载原理,缓存方案,LRU算法
- Retrofit的实现与原理
- OKHttp3的使用,网络请求中的Intercept
- EventBus实现原理
- ButterKnife实现原理
- RxJava实现原理
- Dagger依赖注入
- 热修复实现原理,解决方案
- 组件化原理和解决方案