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

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

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

GL

【问题讨论】:

    标签: android ipc broadcast


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-10-25
        • 2011-06-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多