广播交付和性能

Posted

技术标签:

【中文标题】广播交付和性能【英文标题】:Broadcast delivery and performance 【发布时间】:2011-07-28 17:43:10 【问题描述】:

我猜测广播消息是发布到消息中的 接收线程的队列并通过looper传递。广播是在消息队列中的其他消息之前传递还是只是附加到队列的末尾?我没有特别的需要或类似的东西,只是出于好奇想知道。

在服务和 Activity 之间使用 IPC 广播的性能开销(CPU 和内存)是多少?

GL

【问题讨论】:

【参考方案1】:

广播是在消息队列中的其他消息之前传递还是只是附加到队列的末尾?

我认为他们只是排在队列的末尾。测试这一点的简单方法是将post()Runnables 加入到队列中,每个都睡一会儿,然后给自己发送一个广播。如果Runnables在广播前都处理好了,那就结束了。如果广播是在后面Runnables之前处理的,那么它是在前面注入的。

在服务和 Activity 之间使用 IPC 广播的性能开销(CPU 和内存)是多少?

谦虚,正如@jlindenbaum 所建议的那样。我不建议尝试启动成千上万的事情,并且有针对进程内工作的更轻量级的解决方案(例如,Messenger)。

【讨论】:

【参考方案2】:

我从未注意到使用此功能的设备有相当大的压力。

这是我发现的唯一一种“理智”的方式,可以在服务和活动之间进行通信,而不会导致 UI 线程出现问题。

【讨论】:

以上是关于广播交付和性能的主要内容,如果未能解决你的问题,请参考以下文章

广播公司如何利用多CDN增加直播的弹性和性能

有关实时数据交付性能的服务和流程

高合HiPhi X冬季性能测试 年中将正式交付

OTT交付如何超越传统广电交付,为用户带来高质量视频网络——对话Synamedia流媒体技术发展经理卢彦林...

项目经理:"该版本性能测试工作由你全权负责,月底交付结果"

浅析国内负载均衡产品现状