为了账号安全,请及时绑定邮箱和手机立即绑定

Android实现跨进程通信

Kaneki 移动开发工程师
难度中级
时长 1小时59分
学习人数
综合评分9.53
13人评价 查看评价
9.2 内容实用
9.4 简洁易懂
10.0 逻辑清晰
老师讲的很好,要是实际的跨进程案例讲解就更好了,加深记忆
https://github.com/ThirdPrince/IMOOC_1195
蛮好的一个课程
赞! binder讲的最清楚的一个

最新回答 / sam寨
子进程中,这个可以类比网络请求来理解客户端发送请求给服务器,服务器和客户端物理上就不是同一个机器,所以显然是在两个进程中,而客户端在主线程发送请求当然会阻塞,除非请求的时候是在子线程中进行
感觉说得非常好,但是我技术差原因,源码那块有点吃不消
通过aidl实现了主进程和子进程ipc通信

最新回答 / 慕丝4348654
确实是同一个模块,但是在在不同的process,一个在mainactivity 的默认包进程,一个在:remote进程,所以也是实现了跨进程的。

最新回答 / KillerNoBlood
Setting -> Appearance&Behavior -> Appearance -> Theme<...图片...>
这节课最后老师说,Messenger不适合高并发,高并发的时候可能会导致主线程的阻塞,这个说法成立的前提是,你创建Messenger时使用的是主线程的Handler,但事实上,Mesenger并没有对Handler做限制,因此我们可以创建自己的HandlerThread和Handler,在指定的线程中去做跨进程通信。而且个人觉得这种封装糖其实挺好的,省去了我们手动将Binder线程中操作转换到其他线程,比如主线程的操作。
当然一般的使用场景是,跨进程通信得到的结果或者数据最终是要在主线程中使用的。

最新回答 / 绝尘释爱
创建一个共享内存,发送的时候把数据存到共享内存中,接收的时候读取共享内存中的数据

最新回答 / weixin_慕用2546013
首先你这是两个问题,之所以用arraylist不行,是因为arraylist只是简单根据元素是否相等去增加删除,所以由于序列化的问题前后已经不是一个对象了,那么自然删不掉,而用RemoteCallbackList可以,是因为内部使用的Ibinder来唯一标识的,所以可以删掉,而后续也是在此基础上,remote进程调用了主进程的消息接收服务。而消息类也加了in关键字,所以对象进行了写入的操作。最后主进程才打印了remote进程传的消息
有点无聊1
首页上一页123下一页尾页
课程须知
本课程适合有一定的Android基础,想彻底了解Android进程间通信的同学。
老师告诉你能学到什么?
1、Android中多进程开发的应用和关键技术 2、Android中进程间通信的主要方式以及应用场景 3、Binder 框架在•Android中的应用 4、AIDL Messenger的底层原理和开发应用 5、AIDL 中关键字 oneway in out inout的作用和原理 6、Binder连接池的开发与实现

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消