私のウィジェットは 1 日 1 回更新されることが期待されています
それを完全に制御することはできません。onUpdate()
ホーム画面は、何らかの理由で、より頻繁に通話をトリガーすることを歓迎します.
可能であれば、向きが変更されたときにアプリケーションが再更新されないようにすることはできますか?
いいえ。ただし、Kuffs が示唆するように、更新プロセスの費用を削減できます。
- ネットワーク I/O の結果をディスクにキャッシュする
- ビットマップ(「非常に重いキャンバス描画」の結果と思われるもの)をディスクにキャッシュします
または、onUpdate()
電話が早すぎて、ホーム画面が以前のRemoteViews
. 個人的には、RemoteViews
ホーム画面の実装によって以前のものが破棄された場合RemoteViews
(たとえば、プロセスが終了して再起動された場合) に備えて、キャッシュされたコンテンツを使用して再生成します。
また、長時間の作業IntentService
は ではなくをご利用ください。それ以外の場合は、プロセスをメモリに保持するものは何もなく、作業が完了する前にプロセスが終了する可能性があります。AsyncTask
onUpdate()
onUpdate()