我猜测广播消息已发布到消息中 接收线程的队列并通过looper传递。广播是在消息队列中的其他消息之前传递还是仅附加到队列的末尾?我没有特别的需要或类似的东西,只是想出于好奇而知道。
在服务和活动之间使用IPC广播的性能开销(CPU和内存)是多少?
GL
答案 0 :(得分:2)
广播是在消息队列中的其他消息之前传送还是仅附加到队列的末尾?
我认为他们只是排在队列的最后。测试这个的简单方法是post()
几个Runnables
队列,每个人睡一会儿,然后给自己发一个广播。如果在广播之前处理了Runnables
,那么它就会结束。如果广播在稍后Runnables
之前处理,则它会在前面注入。
在服务和活动之间使用IPC广播的性能开销(CPU和内存)是多少?
谦虚,正如@jlindenbaum所说。我不建议试图解雇成千上万的东西,并且有一些重量级的解决方案用于进程中的工作(例如,Messenger
)。
答案 1 :(得分:1)
我从来没有注意到使用它的设备造成相当大的压力。
这是我发现的唯一“理智”方式,可以在服务和活动之间进行通信,而不会在UI线程上造成问题。