应用进程是怎么启动的?

应用是怎么启用Binder()机制的?
- 什么时候支持Binder机制的?
进程启动后在ProcessState里做的

谈谈你对Application的理解
-
Application有什么作用?
- 保存应用进程内的全局变量
- 初始化操作
- 提供应用上下文
Application:活得长,生的早;跟者进程走而不是跟着应用走。应用开几个进程 就有几个Application。
-
Application的继承关系?

-
Application的生命周期
启动 : * 构造函数 、 attachBaseContext 、 onCreate

谈谈你对Context的理解
- Context的作用?
- 有哪些组件有Context?
Application Activity Service


说说Activity的启动流程?

说说Activity的显示原理?


应用的UI线程是怎么启动的?
- 什么是UI线程?
UI线程就是刷新UI所在的线程,UI是单线程刷新的

说说Service的启动原理



说说Service的绑定原理

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



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


说说Provider的启动原理



说说Android的UI刷新机制


你对vsync信号机制有了解么?


Android Framework里用到了哪些IPC方式?
- Linux中的IPC方式
管道 Socket 共享内存 信号
谈谈你对Binder的理解




一次完整的Binder通信流程是怎样的?
- Binder驱动在内核空间创建一个数据接收缓冲区。
- 在内核空间开辟一块内核缓存区,建立内核缓存区和数据接收缓冲区之间的映射关系,以及数据接收缓冲区和接收进程用户空间地址的映射关系。
- 发送方进程通过copy_from_user()函数将数据复制到内核中的内核缓冲区,由于内核缓冲区和接收进程的用户空间存在内存映射,因此也就相当于把数据发送到了接收进程的用户空间,这样便完成了一次进程间通信。
整个过程只使用了一次复制,不会因为不知道数据的大小而浪费空间或者时间,这样效率更高。

说一说Binder的oneway机制
没看懂 看懂了再补吧
线程的消息队列是怎么创建的?

说说Android线程间消息传递机制?
说说Threadlocal的原理
