摘要:
AIDL进行线程间通信,随着项目规模的扩大,如果有多个业务模块都需要使用AIDL进行进程间通信; 如果按照AIDL的实现方式,需要一个个来实现,创建多个Service。 但这样有个问题,Service不能无限制地增加,Service是系统组件之一,本身就是系统资源。 太多Service会使得我们地应 阅读全文
摘要:
Bundle 四大组件都是支持在Intent中传递Bundle数据的; 由于Bundle实现了Parcelable接口,所以它可以方便地在不同进程之间传输; 所以我们可以在Bundle中附加我们需要传输给远程进程的信息并通过Intent发送出去; 当然,前提是我们的数据必须能够被序列化:基本类型,实 阅读全文
摘要:
Socket也叫做“套接字”;是网络通信中的概念; 分为流式套接字和用户数据报套接字两种,分别对应于网络的传输控制层的TCP和UDP协议; TCP协议是面向连接的协议,提供稳定的双向通信功能;本身具有超时重传功能,非常稳定; UDP是无连接的,提供不稳定的单向通信功能,UDP也是可以实现双向通信功能 阅读全文
摘要:
ContentProvider是安卓提供的专门用于不同应用间进行数据共享的方式;它天生适合进程间通信; 和Messenger一样,ContentProvider的底层实现同样也是Binder; ContentProvider还是四大组件之一; 其实ContentProvider的使用涉及的细节还是很 阅读全文
摘要:
Messenger是以串行的方式处理客户端发来的消息; 如果大量消息同时发送到服务端,服务端仍然只能一个个处理; 如果有大量的并发请求,用Messenger就不合适了; Messenger主要作用是传递消息,有时候我们需要跨进程调用服务端的方法; 这就需要AIDL来实现跨进程调用服务端的方法; 1、 阅读全文
摘要:
通过Messenger可以在不同的进程中传递Messenger对象; Message放入我们需要传递的数据;就可以轻松实现数据的进程间传递; Messenger是轻量级的IPC方案;底层实现是AIDL; Messenger对AIDL做了封装,使得我们可以简便地进行进程间通信; 由于其一次处理一个请求 阅读全文