- 谈谈你对ContentProvider的理解
- 说说ContentProvider、ContentResolver、ContentObserver 之间的关系
- 请描述一下广播BroadcastReceiver的理解
- 广播的分类
- 广播使用的方式和场景
- 在manifest 和代码中如何注册和使用BroadcastReceiver?
- 本地广播和全局广播有什么差别?
- BroadcastReceiver,LocalBroadcastReceiver 区别
- AlertDialog,popupWindow,Activity区别
- Application 和 Activity 的 Context 对象的区别
- Android属性动画特性
- 如何导入外部数据库?
- LinearLayout、RelativeLayout、FrameLayout的特性及对比,并介绍使用场景。
- 谈谈对接口与回调的理解
- 回调的原理
- 写一个回调demo
- 介绍下SurfView
- RecycleView的使用
- 序列化的作用,以及Android两种序列化的区别
- 差值器
- 估值器
- Android中数据存储方式
(二)Android源码相关分析 - Android动画框架实现原理
- Android各个版本API的区别
- Requestlayout,onlayout,onDraw,DrawChild区别与联系
- invalidate和postInvalidate的区别及使用
- Activity-Window-View三者的差别
- 谈谈对Volley的理解
- 如何优化自定义View
- 低版本SDK如何实现高版本api?
- 描述一次网络请求的流程
- HttpUrlConnection 和 okhttp关系
- Bitmap对象的理解
- looper架构
- ActivityThread,AMS,WMS的工作原理
- 自定义View如何考虑机型适配
- 自定义View的事件
- AstncTask+HttpClient 与 AsyncHttpClient有什么区别?
- LaunchMode应用场景
- AsyncTask 如何使用?
- SpareArray原理
- 请介绍下ContentProvider 是如何实现数据共享的?
- AndroidService与Activity之间通信的几种方式
- IntentService原理及作用是什么?
- 说说Activity、Intent、Service 是什么关系
- ApplicationContext和ActivityContext的区别
- SP是进程同步的吗?有什么方法做到同步?
- 谈谈多线程在Android中的使用
- 进程和 Application 的生命周期
- 封装View的时候怎么知道view的大小
- RecycleView原理
- AndroidManifest的作用与理解
(三)常见的一些原理性问题
- Handler机制和底层实现
- Handler、Thread和HandlerThread的差别
- handler发消息给子线程,looper怎么启动?
- 关于Handler,在任何地方new Handler 都是什么线程下?
- ThreadLocal原理,实现及如何保证Local属性?
- 请解释下在单线程模型中Message、Handler、Message Queue、Looper之间的关系
- 请描述一下View事件传递分发机制
- Touch事件传递流程
- 事件分发中的onTouch 和onTouchEvent 有什么区别,又该如何使用?
- View和ViewGroup分别有哪些事件分发相关的回调方法
- View刷新机制
- View绘制流程
- 自定义控件原理
- 自定义View如何提供获取View属性的接口?
- Android代码中实现WAP方式联网
- AsyncTask机制
- AsyncTask原理及不足
- 如何取消AsyncTask?
- 为什么不能在子线程更新UI?
- ANR产生的原因是什么?
- ANR定位和修正
- oom是什么?
- 什么情况导致oom?
- 有什么解决方法可以避免OOM?
- Oom 是否可以try catch?为什么?
- 内存泄漏是什么?
- 什么情况导致内存泄漏?
- 如何防止线程的内存泄漏?
- 内存泄露场的解决方法
- 内存泄漏和内存溢出区别?
- LruCache默认缓存大小
- ContentProvider的权限管理(解答:读写分离,权限控制-精确到表级,URL控制)
- 如何通过广播拦截和abort一条短信?
- 广播是否可以请求网络?
- 广播引起anr的时间限制是多少?
- 计算一个view的嵌套层级
- Activity栈
- Android线程有没有上限?
- 线程池有没有上限?
- Android为什么引入Parcelable?
- 有没有尝试简化Parcelable的使用?
架构师筑基包括哪些内容
我花了将近半个月时间将:深入 Java 泛型.、注解深入浅出、并发编程.、数据传输与序列化、Java 虚拟机原理、反射与类加载、高效 IO、Kotlin项目实战等等Android架构师筑基必备技能整合成了一套系统知识笔记PDF,相信看完这份文档,你将会对这些Android架构师筑基必备技能有着更深入、更系统的理解。
由于文档内容过多,为了避免影响到大家的阅读体验,在此只以截图展示部分内容,详细完整版的【架构师筑基必备技能】文档领取方式:点赞+关注,然后私信关键词 【666】即可获得免费领取方式!或者 可以查看我的【Github】
总结
本文讲解了我对Android开发现状的一些看法,也许有些人会觉得我的观点不对,但我认为没有绝对的对与错,一切交给时间去证明吧!愿与各位坚守的同胞们互相学习,共同进步!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!