最新回答 / sam寨
子进程中,这个可以类比网络请求来理解客户端发送请求给服务器,服务器和客户端物理上就不是同一个机器,所以显然是在两个进程中,而客户端在主线程发送请求当然会阻塞,除非请求的时候是在子线程中进行
2021-01-19
最新回答 / 慕丝4348654
确实是同一个模块,但是在在不同的process,一个在mainactivity 的默认包进程,一个在:remote进程,所以也是实现了跨进程的。
2020-10-26
这节课最后老师说,Messenger不适合高并发,高并发的时候可能会导致主线程的阻塞,这个说法成立的前提是,你创建Messenger时使用的是主线程的Handler,但事实上,Mesenger并没有对Handler做限制,因此我们可以创建自己的HandlerThread和Handler,在指定的线程中去做跨进程通信。而且个人觉得这种封装糖其实挺好的,省去了我们手动将Binder线程中操作转换到其他线程,比如主线程的操作。
当然一般的使用场景是,跨进程通信得到的结果或者数据最终是要在主线程中使用的。
当然一般的使用场景是,跨进程通信得到的结果或者数据最终是要在主线程中使用的。
2020-07-07
最新回答 / weixin_慕用2546013
首先你这是两个问题,之所以用arraylist不行,是因为arraylist只是简单根据元素是否相等去增加删除,所以由于序列化的问题前后已经不是一个对象了,那么自然删不掉,而用RemoteCallbackList可以,是因为内部使用的Ibinder来唯一标识的,所以可以删掉,而后续也是在此基础上,remote进程调用了主进程的消息接收服务。而消息类也加了in关键字,所以对象进行了写入的操作。最后主进程才打印了remote进程传的消息
2020-04-08