您的位置:首页 > 移动开发 > Android开发

Android中进程间通信的几种方式

2015-12-18 13:16 253 查看
        大家都知道,安卓中可以进行进程间的通信的方法主要有aidl,此外,还有broadcast,contentProvider等方式也可以进行进程间的信息或数据的传递,现在总结一下这几种方式的特点:

broadcast:用于发送和接收广播!实现信息的发送和接收! 该方式只是接收到一个广播消息,主要的业务逻辑代码是在自己的onReceive()方法里面实现的。

那么它的优点是:注册了这个广播接收器的应用都能够收到广播,范围广。缺点是:速度慢点,而且必须在一定时间内把事情处理完(onReceive执行必须在几秒之内),否则的话系统给出ANR。


aidl:用于不同程序将服务的相互调用!实现了一个程序为另一个程序服务的功能!业务逻辑代码在远程的服务中,通过aidl来调用。

优点是:速度快(系统底层直接是共享内存),性能稳,效率高,一般进程间通信就用它。


Content Provider:用于将程序的数据库人为地暴露出来!实现一个程序可以对另个程序的数据库进行相对用的操作!主要是用来将自己的数据库共享出来供别的程序调用或者修改。

因为只是把自己的数据库暴露出去,其他程序都可以来获取数据,数据本身不是实时的,不像前两者,只是启个数据供应作用。一般是某个成熟的应用来暴露自己的数据用的。 你要是为了进程间通信,还是别用这个了,这个又不是实时数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: