
ipc通讯
yueye12
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
在AIDL中声明方法中传入的参数in,out
首先,用到Binder的时候,用户端发起请求,当前线程会挂起,直到服务端执行完毕,所以如果远程方法很耗时的话,不适合在主线程中发起请求;并且不管Binder是否耗时,都需要采用同步方式去实现。 在AIDL文件中,如果用到别的文件中的对象,必须手动导入别的对象所在包 AIDL中除了基本数据类型,其他类型的参数必须标上方向,in表示输入型参数,out表示输出型参数,inout表示输入输出参数原创 2017-04-07 11:25:53 · 1468 阅读 · 0 评论 -
permission Denial
在IPC通讯中,如果出现权限拒绝的问题,一个是没有声明权限,这个一般情况下Log会提醒;另外一个是跨应用跨进程的时候,能够被访问的四大组件在清单文件中需要声明一个属性, android:exported="true" 这里表示当前组件可以输出,能够被访问原创 2017-04-08 11:26:57 · 720 阅读 · 0 评论 -
进程间通讯
进程间通讯分为以下几种方式: 1.Bundle,在Intent中通过通过Bundle传递数据,最简单的比如说我们自定义的app可以启动别的大型app,比如百度地图。 Intent实现的数据传递必须序列化,这是最简单的进程间通讯方式。 这里特别说明一种情况:在a进程中需要计算结果,然后计算完成后启动B进程并且将结果传递给B进程,这个过程计算的结果如果不能通过Bundle传递,如果用其他IPC原创 2017-04-06 16:57:09 · 274 阅读 · 0 评论 -
CopyOnWriteArrayList
CopyOnWriteArrayList这个数组支持并发读写,所以在AIDL进行进程间通讯的时候,如果会用到高频率的读写列表数据的时候,可以使用这个数组来自动进行线程同步的处理。 需要注意的是在用AIDL进行进程间通讯的时候,能够使用的List只有ArrayList,但是CopyOnWriteArrayList却并非继承自ArrayList,这里的原因是AIDL所支持的是抽象的List,因此虽然服务原创 2017-04-06 17:26:29 · 293 阅读 · 0 评论