2011-07-25 6 views
0

アンドロイドで3秒ごとにコマンドを実行します。私はスレッドを使用しているアンドロイドのアプリケーションを持っています。そのスレッドでは、メソッドを呼び出す必要がありますが、3秒ごとに呼び出されます。すなわちスレッドが 3 runCommand関数(開始) 6 runCommand関数()などタイマーや別のスレッドを使わずに、Javaのスレッドで一定の時間間隔でタスクをスケジュールする方法はありますか?

に私は他のスレッド又は実行可能なを使用するいけないも私はそのためにタイマを使用します。私が使用できるのは、SystemClock.utilsmillisまたはSystem.nanoTime()とそのような変数の2つです。親切

おかげ

を助けるFAS

+3

なぜこれらの奇妙な要件がありますか?なぜスレッドやタイマーを使わないのですか? – Kaj

答えて

0

Androidはタイマーに似てHandlerメカニズムを持っているが、それは独自のスレッドを持っていない、代わりにメインイベントループから呼び出されます。

しかし、それを使用する場合は、アプリケーション全体がハングアップするので、時間がかかる(またはブロックする)コードをそこに配置しないでください。

(実際には、すでに別のスレッドがあるようですが、Looperを作成し、メインスレッドをブロックしないようにHandlerを実行してください)。

関連する問題