6

頻繁に (1 秒ごとまたは 0.5 秒ごとに) 更新を送信するサービスがある場合、ブロードキャストを使用することと、サービス内のある種のリストに格納されて更新を送信するリスナー (作成したインターフェイス) を登録することの長所/短所はありますか?その方法?

メモリ使用量、バッテリー消費量などの観点から考えています。少しオープンエンドであることは知っていますが、ドキュメントに関してはあまりないので、同等である可能性がありますが、誰かが明確な答えを知っているか、入力がある場合よろしくお願いします。

4

3 に答える 3

4

私の経験では、通知を頻繁に送信する場合は、リスナーを選択してください。同じ問題でいくつかの BroadcastReceivers を実装しましたが、いくつかのメッセージが失われました。これは、BroadcastReceivers が着信インテントをキューに入れず、代わりに「古いインテントで作業を行っている」間に着信インテントをドロップするためだと思います。もちろん、サービスとアプリケーションのすべてのリッスン部分を接続する必要がないため、インテントのブロードキャストはよりリラックスできますが、私の場合 (1 秒あたり複数のメッセージ) リスナーは正しい選択でした。

于 2013-09-18T11:47:22.603 に答える
0

このことについて考えないでください、それは本当に少量のエネルギーとパフォーマンスです. ブロードキャストとリスナーの主な違いは、メッセージの送信方法です。ブロードキャストの場合、イベントはシステムを通過し、そうでない場合はクラスに直接送信されます。

于 2013-09-18T11:00:22.300 に答える