我猜测广播消息被张贴到接收线程的消息 队列中,并通过循环传递。广播是在消息队列中的其他消息之前传递还是仅附加到队列末尾?我没有特别的需要或任何类似的东西,只是想知道出于好奇。广播传递和性能
在服务和活动之间为IPC使用广播的性能开销(CPU和内存)是多少?
GL
我猜测广播消息被张贴到接收线程的消息 队列中,并通过循环传递。广播是在消息队列中的其他消息之前传递还是仅附加到队列末尾?我没有特别的需要或任何类似的东西,只是想知道出于好奇。广播传递和性能
在服务和活动之间为IPC使用广播的性能开销(CPU和内存)是多少?
GL
我从来没有注意到在使用该设备的一个相当大的压力。
这是我发现的唯一“理智”的方式,可以在服务和活动之间进行通信,而不会在UI线程上引发问题。
广播是在消息队列中的其他消息之前传递还是仅附加到队列末尾?
我认为他们只是排队结束。简单的方法来测试这是post()
几个Runnables
到队列,每个睡一会儿,然后发送自己的广播。如果Runnables
都在广播之前处理完毕,它就会结束。如果广播在稍后Runnables
之前处理,则它在前面被注入。
在服务和活动之间为IPC使用广播的性能开销(CPU和内存)是多少?
谦虚,正如@jlindenbaum所示。我不会建议尝试解决数以千计的事情,并且还有用于在线工作的轻量级解决方案(例如,Messenger
)。