4

サービスクラスのアクションとメソッドを制御するのに、どちらがより効果的ですか?1つの方法は、ローカルサービスをアクティビティにバインドすることであり、もう1つの方法は、ブロードキャストレシーバーを使用して、サービスの制御メソッドにブロードキャストを送信することです。それらは同じことをする2つの異なる方法ですか?ほとんどの場合、どちらを使用しますか?

4

1 に答える 1

1

バインディング:サービスの多くの変数を変更したり、さまざまな機会にサービスから値を取得したりする必要がある場合。このようにして、変数にメモリ内でアクセスできます。または、サービスから常に値を取得する必要があり、一方の側で正確なタイミングを制御する方が簡単な場合。行うべきコミュニケーションがたくさんある場合は、バインディングがより効果的です。(Androidのドキュメントには、リアルタイムサーバークライアントの例が示されています)

ブロードキャスト:アクティビティまたはサービスのいずれかで多くの変数が変更された場合でも、いつでもピンポイントで送信し、比較的分類されたメッセージを尊敬される受信者に送信できます。ここでのタイミングは少しずれている可能性がありますが、キューに入れられたメッセージを受け取ることができます。これは、長期の定期的な更新などのタスクに適しています。

于 2012-10-19T08:05:01.230 に答える