android IPC学习 (一)

这里先列举下别人好的博客:

        1、http://www.cnblogs.com/lizhengxian/p/5075635.html

              主要介绍了IPC实现的几种方法

        2、http://blog.csdn.net/itachi85/article/details/50386748

              刘望舒的博客,有一个专门介绍IPC的系列文章,文章非常好!

IPC:进程间通信  一直没有使用过,但众多公司招聘要求都有提到,以前学习过,所以这里整理一下。

1、进程

       进程是程序的一次执行,至少包括一个线程;线程是指进程内的一个执行的单元,也是进程内的可调度的实体;

2、多进程的意义:

       1:单进程所分配的内存不够,利用多进程获取更多的内存;

       2:独立运行的组件、模块

       3:目前非常“高端”双守护进程,防止app被杀掉,类似微信

       4:常驻后台的任务

3、进程间通信的方式

       1:Bundle/Intent传递数据

             可传递基本类型,String,实现了Serializable或Parcellable接口的数据结构。

       2:文件共享

             对同一个文件先后写读,从而实现传输。

       3:AIDL  安卓接口定义语言

            AIDL通过定义服务端暴露的接口,以提供给客户端来调用,AIDL使服务器可以并行处理,

            而Messenger封装了AIDL之后 只 能串行运行,所以Messenger一般用作消息传递。

       4:ContentProvider

           系统四大组件之一,底层也是Binder实现,主要用来为其他APP提供数据,可以说天生就是为进程通信而生的。

       5:Messenger (鸿洋大神有一篇博客专门介绍)

           Messenger是基于AIDL实现的,服务端(被动方)提供一个Service来处理客户端(主动方)连接,

          维护一个Handler来创建Messenger,在onBind时返回Messenger的binder。

       6:Socket

           Android不允许在主线程中请求网络,而且请求网络必须要注意声明相应的permission。

          然后,在服务器中定义ServerSocket 来监听端口,客户端使用Socket来请求端口,连通后就可以进行通信。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值