掌握Android Framework基本知识

2022-08-14  本文已影响0人  码农朱同学

Framework

本文着重讲解Android系统底层原理,补齐Android开发的framework层知识短板。一方面对高级工程师的面试提供直接帮助,另一方面可以提高大家的技术段位。兼顾面试知识技能与开发内功,适合每一位Android中高级开发者。

沉淀国内外丰富大厂经验系统掌握Framework底层原理
化繁为简,Framework也不难
剖析关键代码,掌握Framework精髓
图文并茂,更好理解底层原理

分享多年开发与学习心得助力提高分析与解决问题能力
分析Framework模块设计思路
解读模块核心代码设计技巧
分享如何研究底层方法与经验

第1章 学习指南

本章会告诉大家为什么应该学习这门课,课程有哪些特色,能给大家带来什么收获,还会讲到课程的整体内容安排,最后还会给出一些学习建议,让大家能更好地学习这门课。

第2章 系统服务相关问题

本章重点讲解系统核心进程,以及一些关键的系统服务的启动原理

2-1 谈谈对zygote的理解

2-2 说说Android系统的启动

2-3 你知道怎么添加一个系统服务吗?

2-4 系统服务和bind的应用服务有什么区别?

2-5 ServiceManager启动和工作原理是怎样的?

2-6 谈谈对AMS的理解

第3章 应用进程相关问题

本章主要讲解应用进程的启动,以及伴随进程启动过程中的一些重要机制的初始化原理,比如binder机制,Application,以及Context等方面的问题。

3-1 你知道应用进程是怎么启动的吗?

3-2 应用是怎么启用Binder机制的?

3-3 谈谈你对Application的理解

3-4 谈谈你对Context的理解

3-5 冷启动App

第4章 Activity组件相关问题

这一章主要讲解Activity相关的机制,包括Activity的启动流程,显示原理等相关问题,通过本章的学习,我们不但能熟悉它,更能深入了解它。

4-1 说说Activity的启动流程

4-2 说说Activity的显示原理

4-3 应用的UI线程是怎么启动的

第5章 其它应用组件相关问题

本章主要讲除了Activity之外的应用组件相关问题,包括service的启动和绑定原理,静态广播和动态广播的注册和收发原理,provider的启动和数据传输原理等等。

5-1 说说service的启动原理

5-2 说说service的绑定原理-1

5-3 说说service的绑定原理-2

5-4 说说动态广播的注册和收发原理

5-5 说说静态广播的注册和收发原理

5-6 说说Provider的启动原理

第6章 UI体系相关问题

本章主要讲UI体系相关问题,包括UI刷新机制,涉及到vsync和choreographer原理。另外还会讲到surface的相关原理,涉及到应用和WMS、surfaceFlinger通信。

6-1 说说屏幕刷新的机制-1

6-2 说说屏幕刷新的机制-2

6-3 surface跨进程传递原理

6-4 surface的绘制原理

6-5 你对vsync机制有了解吗?

6-6 SurfaceView & View的区别,底层原理有何不同

第7章 进程通信相关问题

本章主要讲进程通信相关问题,包括binder的整体架构和通信原理,oneway机制,binder对象的传递等等。

7-1 Android Framework用到了哪些跨进程通信方式

7-2 谈谈你对Binder的理解

7-3 一次完整的ipc通信流程是怎样的

7-4 binder对象跨进程传递原理是怎么样的

7-5 说一说binder的oneway机制

第8章 线程通信相关问题

本章主要讲线程通信原理相关问题,包括消息队列的创建,消息循环机制,消息延时,同步和异步消息,消息屏障等等内容。

8-1 线程的消息队列是怎么创建的?

8-2 说说android线程间消息传递机制

8-3 handler的消息延时是怎么实现的?

8-4 说说idleHandler的原理

8-5 主线程进入loop循环了为什么没有ANR?

8-6 听说过消息屏障么?

8-7 多线程间通信和多进程之间通信有什么不同,分别怎么实现?

第9章 技巧,心得相关

除了上面章节之外的所有问题,都会放在本章讲到,除了原理之外,还会分享一些代码技巧。
收起列表

9-1 怎么跨进程传递大图片

9-2 说说threadLocal的原理

9-3 来说说looper的副业

9-4 怎么检查线程有耗时任务

9-5 怎么同步处理消息

9-6 主线程&ApplicationThread

第10章 综合性问题

本章主要是讨论一些综合性较强的题,这类题目不会问到具体某一块原理,需要充分结合自己的思考和积累,没有唯一的答案。本章我们就来讨论这些开放的题目该怎么答,有哪些思路可以借鉴的。

10-1 你去了解framework是为了解决一个什么样的问题,怎么解决的

10-2 Android Framework用到了哪些设计模式

10-3 Framework中有什么你觉得设计的很巧妙的地方,请举例说明-1

10-4 Framework中有什么你觉得设计的很巧妙的地方,请举例说明-2

第11章 课程总结

课程总结

11-1 课程总结

上一篇下一篇

猜你喜欢

热点阅读