0

15秒ごとにウィジェットを更新する必要があるという要件があります。と呼ばれるメソッドがありますが、android:updatePeriodMillisそれは30分後にのみ解雇されるようです。

の助けを借りてウィジェットを更新するアプローチを取りましたAlarmManagerウィジェットは更新されますが、問題はデバイスのパフォーマンスが低下することです。アプリケーションがバックグラウンドで実行されている場合、AlarmManagerユーザーイベントに応答するためにデバイスで大きな遅延が発生する可能性があります。頻繁に更新されるウィジェットを用意するのは賢明ですか?

ウィジェットを更新するための推奨されるアプローチですか?または、更新が頻繁に行われるコードサンプルやアプリケーションを提供してくれる人はいますか?

なぜandroid:updatePeriodMillis30分に設定されているのですか?Androidは、その時間間隔より前にウィジェットを更新することを望んでいないためですか?

4

1 に答える 1

1

15秒ごとにウィジェットを更新する必要があるという要件があります。

それはあなたのバッテリー寿命に影響を与えるでしょう。これを構成可能にしてください。

android:updatePeriodMillisというメソッドがありますが、それは30分後にのみ起動されるようです。

これはXML属性であり、メソッドではありません。たとえば、15秒ごとに更新されるアプリウィジェットをインストールするユーザーからのバッテリー寿命に関する苦情のため、最低30分です。

アプリケーションのAlarmManagerがバックグラウンドで実行されている場合、ユーザーイベントに応答するためにデバイスで大きな遅延が発生する可能性があります。

時間のかかる作業をIntentService、アラームによってトリガーされるに入れます。メソッドで直接作業を行っている場合BroadcastReceiver onReceive()、そのメソッドはフォアグラウンドプライオリティで実行され、CPU使用率により大きな影響を与えます。また、プロセスのメインアプリケーションスレッドを拘束するため、実行中のアクティビティはすべて、BroadcastReceiverその作業中にスタックします。

頻繁に更新されるウィジェットを用意するのは賢明ですか?

IMHO、いいえ。ただし、構成可能にすると、ユーザーは適切と思われる値を選択できます。

于 2010-09-03T09:25:53.013 に答える