-1

省電力オプションなどが原因だと思いますが、バッテリーがオンの場合にのみ失敗するため、デバッグできません。

60秒ごとにWebページをチェックするサービスがあります。サービスでasyncTaskを使用してこれを実行し、Thread.thisThread.sleep(60000);にします。チェックする前に

私は何か間違ったことをしていますか?スリープ機能により、サーバーがAndroidによって停止される可能性がありますか?

4

1 に答える 1

5

60秒ごとにWebページをチェックするサービスがあります。サービスでasyncTaskを使用してこれを実行し、Thread.thisThread.sleep(60000);にします。チェックする前に

お願い、それはやめて。

まず、「これは絶対に行わない」オプションを含めて、期間を構成可能にします。開発者が大量のバッテリー寿命を使い切ることを主な目的としていると思われるアプリを作成する場合、ユーザーはそれを本当に嫌います。デバイスをスリープ状態にせず、毎分Webサーバーをポーリングすると、大量のバッテリー寿命が消費されます。ユーザーが見つけたすべてのタスクキラーに実行されるのは、このような動作です。

次に、特に1分以上の期間はAlarmManager、[ WakefulIntentService][1]を使用してください。AlarmManagerユーザーが選択した期間に(理想的にはを介して)アプリケーションを呼び出すようにをスケジュールしますsetInexactRepeating()WakefulIntentServiceWebページをポーリングしてもらいます。文書化されたレシピに従うWakefulIntentServiceと、デバイスはデータを取得するのに十分な時間スリープ状態を維持し、その後スリープ状態に戻ります。サービスが常にメモリに残るわけではありません。あなたはあなたの機能を手に入れ、ユーザーはより良いデバイスパフォーマンスを手に入れます。

于 2010-11-08T01:08:13.360 に答える