2011-07-28 42 views
3

我猜測廣播消息被張貼到接收線程的消息 隊列中,並通過循環傳遞。廣播是在消息隊列中的其他消息之前傳遞還是僅附加到隊列末尾?我沒有特別的需要或任何類似的東西,只是想知道出於好奇。廣播傳遞和性能

在服務和活動之間爲IPC使用廣播的性能開銷(CPU和內存)是多少?

GL

回答

1

我從來沒有注意到在使用該設備的一個相當大的壓力。

這是我發現的唯一「理智」的方式,可以在服務和活動之間進行通信,而不會在UI線程上引發問題。

2

廣播是在消息隊列中的其他消息之前傳遞還是僅附加到隊列末尾?

我認爲他們只是排隊結束。簡單的方法來測試這是post()幾個Runnables到隊列,每個睡一會兒,然後發送自己的廣播。如果Runnables都在廣播之前處理完畢,它就會結束。如果廣播在稍後Runnables之前處理,則它在前面被注入。

在服務和活動之間爲IPC使用廣播的性能開銷(CPU和內存)是多少?

謙虛,正如@jlindenbaum所示。我不會建議嘗試解決數以千計的事情,並且還有用於在線工作的輕量級解決方案(例如,Messenger)。