サービスクラスのアクションとメソッドを制御するのに、どちらがより効果的ですか?1つの方法は、ローカルサービスをアクティビティにバインドすることであり、もう1つの方法は、ブロードキャストレシーバーを使用して、サービスの制御メソッドにブロードキャストを送信することです。それらは同じことをする2つの異なる方法ですか?ほとんどの場合、どちらを使用しますか?
質問する
867 次
1 に答える
1
バインディング:サービスの多くの変数を変更したり、さまざまな機会にサービスから値を取得したりする必要がある場合。このようにして、変数にメモリ内でアクセスできます。または、サービスから常に値を取得する必要があり、一方の側で正確なタイミングを制御する方が簡単な場合。行うべきコミュニケーションがたくさんある場合は、バインディングがより効果的です。(Androidのドキュメントには、リアルタイムサーバークライアントの例が示されています)
ブロードキャスト:アクティビティまたはサービスのいずれかで多くの変数が変更された場合でも、いつでもピンポイントで送信し、比較的分類されたメッセージを尊敬される受信者に送信できます。ここでのタイミングは少しずれている可能性がありますが、キューに入れられたメッセージを受け取ることができます。これは、長期の定期的な更新などのタスクに適しています。
于 2012-10-19T08:05:01.230 に答える