线程、进程、通信
请解释下在单线程模型中 Message、Handler、Message Queue、Looper 之间的关系。
AIDL 的全称是什么?如何工作?能处理哪些类型的数据?
AIDL 是一种接口定义语言,用于约束两个进程间的通信规则,供编译器生成代码,实现Android 设备上的进程间通信。
进程之间的通信信息首先会被转换成 AIDL 协议消息,然后发送给对方,对方受到 AIDL 协议消息后再转换成相应的对象。
AIDL 支持的类型包括 Java 基础类型和 String,List,Map,CharSequence,如果使用自定义类型,必须实现 Parcelable 接口。
对多线程的运用和理解,及多线程之间 handle 的传值。
handler 机制的原理。
Andriod 提供了 Handler 和 Looper 来满足线程间的通信.Handler 先进先出原则.Looper 类用来管理特定线程内对象之间的消息交换(Message Exchange).
1)Looper: 一个线程可以产生一个 Looper 对象,由它来管理此线程里的 MessageQueue(消息队列).
2)Handler:你可以构造 Handler 对象来与 Looper 沟通,以便 push 新消息到 MessageQueue 里;或者接收 Looper (从 MessageQueue 取出)所送来的消息.android 中线程与线程,进程与进程之间如何通信。线程通信使用 Handler,
Linux 中跨进程通信的几种方式 。
dvm 的进程和 Linux 的进程, 应用程序的进程是否为同一个概念
DVM 指 dalivk 的虚拟机.每一个 Android 应用程序都在它自己的进程中运行,都拥有一个独立的 Dalvik 虚拟机实例.而每一个 DVM 都是在 Linux 中的一个进程,所以说可以认为是同一个概念.