2016-12-21 4 views
0

アプリケーション全体を一時停止することなくループ内に区間を作成するにはどうすればよいですか? Thread.sleepまたはTimunit.sleepを呼び出すと、アプリケーション全体が一時停止します。私は現在、whileループで何かをしようとしており、毎回1秒の間隔を必要としています。アプリ全体を中断することなく区間を作成する方法(アンドロイドスタジオ)

(編集 - それはかなり単純な質問ので、私は、私は私のコードのいずれかに置く必要があるとは思わないが、あなたはそれのいずれかを必要とする場合だけで尋ねるのです)

+0

あなたはしないでください。それを行う理由はほとんどありません。絶対にメインスレッドでそれを行う理由は決してありません。あなたがそれを行う必要があると思うなら、あなたはイベントドリブンプログラミングを正しく使用していません。何をしようとしているのかを明記して、誰かにあなたに正しい方法を教えてもらう必要があります。 –

+0

私はちょうど1秒間隔でループを作成しようとしているので、毎秒何かを出力することができます。 – CarbonZonda

+0

ハンドラを使用して、遅延メッセージを送信して1秒で実行します。メインスレッドのスリープは決して正確ではありません。 –

答えて

0
public static ScheduledExecutorService sScheduledExecutor; 
    sScheduledExecutor = Executors.newSingleThreadScheduledExecutor(); 
    sScheduledExecutor.scheduleWithFixedDelay(new Runnable() { 
     @Override 
     public void run() { 
      // Do something you want 
     } 
    }, 0, 1000L, TimeUnit.MILLISECONDS); 
関連する問題