Android面试题(16-20)

16、什么是 MessageQueue?
17、什么是 IPC?
18、什么是 AIDL?
19、什么是 Binder?
20、什么是 Bundle?

16、MessageQueue是Android中消息处理机制的一部分,用于保存消息,让消息处理线程(Handler)按顺序处理其中的消息。它是一个FIFO(先进先出)队列,可以通过Handler的sendMessage()方法将消息加入到队列中,消息会根据优先级排序并等待处理。

17、IPC(Inter-Process Communication,进程间通信)是指两个或多个进程之间进行通信和数据交换的过程。在Android中,IPC是指在不同的进程之间进行通信和数据传递,例如Activity之间的跨进程通信、Service和Activity之间的跨进程通信等。

18、AIDL(Android Interface Definition Language)是一种接口描述语言,用于定义在Android中跨进程通信(IPC)时的接口。它定义了可以由其他进程访问的方法,这些方法在客户端和服务端之间进行序列化和反序列化。在AIDL中,可以定义多种数据类型和接口,以实现进程之间的数据交换和通信。

19、Binder是Android系统中用于跨进程通信的一种IPC机制,Binder是一个底层的驱动程序,实现了多个进程之间的通信和数据传输。每个Binder都有一个唯一的标识符,通过这个标识符可以找到对应的Binder对象,从而实现进程之间的通信和交换数据。

20、Bundle是一个用于在Activity、Service、BroadcastReceiver等组件之间传递数据的类。它类似于一个容器,可以存储各种类型的数据,包括基本数据类型、Parcelable对象和Serializable对象等。Bundle可以通过Intent传递给其他组件,也可以用于保存Activity状态,以便在Activity重建时恢复数据。