省電力オプションなどが原因だと思いますが、バッテリーがオンの場合にのみ失敗するため、デバッグできません。
60秒ごとにWebページをチェックするサービスがあります。サービスでasyncTaskを使用してこれを実行し、Thread.thisThread.sleep(60000);にします。チェックする前に
私は何か間違ったことをしていますか?スリープ機能により、サーバーがAndroidによって停止される可能性がありますか?
60秒ごとにWebページをチェックするサービスがあります。サービスでasyncTaskを使用してこれを実行し、Thread.thisThread.sleep(60000);にします。チェックする前に
お願い、それはやめて。
まず、「これは絶対に行わない」オプションを含めて、期間を構成可能にします。開発者が大量のバッテリー寿命を使い切ることを主な目的としていると思われるアプリを作成する場合、ユーザーはそれを本当に嫌います。デバイスをスリープ状態にせず、毎分Webサーバーをポーリングすると、大量のバッテリー寿命が消費されます。ユーザーが見つけたすべてのタスクキラーに実行されるのは、このような動作です。
次に、特に1分以上の期間はAlarmManager
、[ WakefulIntentService
][1]を使用してください。AlarmManager
ユーザーが選択した期間に(理想的にはを介して)アプリケーションを呼び出すようにをスケジュールしますsetInexactRepeating()
。WakefulIntentService
Webページをポーリングしてもらいます。文書化されたレシピに従うWakefulIntentService
と、デバイスはデータを取得するのに十分な時間スリープ状態を維持し、その後スリープ状態に戻ります。サービスが常にメモリに残るわけではありません。あなたはあなたの機能を手に入れ、ユーザーはより良いデバイスパフォーマンスを手に入れます。