私はブロードキャストメッセージが受信スレッドのメッセージ キューに投稿され、ルーパーを通して配信されていると推測しています。ブロードキャストは、メッセージキュー内の他のメッセージより前に配信されるのか、キューの最後に追加されただけですか?私には特別な必要や何かがないので、好奇心から知りたいだけです。ブロードキャスト配信とパフォーマンス
サービスとアクティビティ間のIPCのブロードキャストを使用するためのパフォーマンスオーバーヘッド(CPUとメモリ)はどのくらいですか?
GL
私はブロードキャストメッセージが受信スレッドのメッセージ キューに投稿され、ルーパーを通して配信されていると推測しています。ブロードキャストは、メッセージキュー内の他のメッセージより前に配信されるのか、キューの最後に追加されただけですか?私には特別な必要や何かがないので、好奇心から知りたいだけです。ブロードキャスト配信とパフォーマンス
サービスとアクティビティ間のIPCのブロードキャストを使用するためのパフォーマンスオーバーヘッド(CPUとメモリ)はどのくらいですか?
GL
私はこれを使用してデバイス上でかなりの歪みに気づいたことがありません。
UIスレッドに問題を引き起こすことなく、サービスとアクティビティとの間で通信することは、私が見つけた唯一の「純粋な」方法です。
ブロードキャストは、メッセージキュー内のほかのメッセージ、またはキューの末尾に追加される前に配信されますか。
私は彼らがキューの最後に行くと思います。これをテストする簡単な方法は、それぞれが少し眠っているキューにRunnables
のカップルのpost()
であり、次に自分自身にブロードキャストを送信します。ブロードキャストの前にRunnables
がすべて処理されている場合は、最後に移動しました。放送が遅くともRunnables
の前に処理されている場合は、フロントに注入されています。
サービスとアクティビティ間のIPCのブロードキャストを使用するためのパフォーマンスオーバーヘッド(CPUとメモリ)はどのくらいですか。
@jlindenbaumが示唆するように、私は何千ものものを焼き払うことを提案するつもりはなく、処理中の作業のために軽量の解決策があります(例えば、Messenger
)。