2011-02-05 4 views
0

限られた時間だけタスクを効率的に実行する方法はありますか?現在、私はonPostDelayed()でHandlerを使用し、現在のタイムスタンプが私の定義済みのタイムスタンプよりも高い場合は、それぞれの実行をチェックします。定義された時間にタスクを実行

私はCountdownTimerのような解決策を探していますが、ダニはありません。私はスタートとエンドタイムを定義したいだけで、私のタスクはこの期間に実行する必要があります。

+2

私はここでは使用例を見ていません。あなたの "仕事"は何ですか?この間に何をやっているのですか?時間が過ぎるとどうなりますか? – Falmarri

+0

@ Falmarri:バッテリーを節約するために、gpsレシーバーをアクティブにし、その場所をログファイルに書き込んで、x秒後にgpsリスナーをオフにしたいと思います。現在、カスケードハンドラを使ったサービスでこれをやっていますが、これはアンドロイドで最も効率的な方法ではないと思います。私はAlarmManagerについて読んでいますが、これはサービスを組み合わせると非常に複雑です。ファルマリ:この問題を解決するための最善の方法が分かっていますか?ありがとう... – Andrew

答えて

0

私はそうのような「長い」にそれが起動する時間を節約し、特定の時間のためのタスクを実行したい場合:

long now = System.currentTimeMillis(); 

そして単純に(それはタスクが開始されているので、どのくらいの時間をチェック私が5秒間何かを実行したいと思ったらそれが動いている間、何かのループであると仮定して):

関連する問題