Android: forma estándar de hacer correr un hilo cada segundo

Estoy tratando de ejecutar una clase Thread cada segundo. No puedo usar Runnable . He intentado de la siguiente manera, pero su lanzamiento StackOverflowException . ¿Puede alguien por favor, hágamelo saber un método estándar para hacer una clase de hilo ejecutar cada segundo.

 public class A extends Thread { public void run() { //do my stuff sleep(1*1000,0); run(); } } 

3 Solutions collect form web for “Android: forma estándar de hacer correr un hilo cada segundo”

Utilice la programación de Timer schedule() o scheduleAtFixedRate() ( diferencia entre estos dos ) con TimerTask en el primer argumento, en el que está sobreescribiendo el método run() .

Ejemplo:

 Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { // TODO do your thing } }, 0, 1000); 

Su ejemplo causa el desbordamiento de la pila, porque es una recursión infinita, siempre está llamando a run() desde run() .

Tal vez quiera considerar una alternativa como ScheduledExecutorService

 ScheduledExecutorService scheduleTaskExecutor = Executors.newScheduledThreadPool(5); /*This schedules a runnable task every second*/ scheduleTaskExecutor.scheduleAtFixedRate(new Runnable() { public void run() { DoWhateverYouWant(); } }, 0, 1, TimeUnit.SECONDS); 
 final ExecutorService es = Executors.newCachedThreadPool(); ScheduledExecutorService ses = Executors.newSingleThreadScheduledExecutor(); ses.scheduleAtFixedRate(new Runnable() { @Override public void run() { es.submit(new Runnable() { @Override public void run() { // do your work here } }); } }, 0, 1, TimeUnit.SECONDS); 
  • ¿Cuándo necesitamos usar runOnUiThread en la aplicación android?
  • Diferencia entre el hilo principal y el hilo de interfaz de usuario
  • Espere un hilo antes de continuar en Android
  • Cómo "esperar" un hilo en Android
  • Es posible detener un subproceso que se está conectando a URL con httpConnection.connect ()?
  • Android equivalente de iOS GCD dispatch_group API
  • Los animadores sólo se pueden ejecutar en los subprocesos Looper en Sherlock Action Bar
  • Cómo pausar / reanudar el hilo en Android?
  • diferencia runable androide
  • ¿Es un error o una característica? En algunos casos es posible acceder al subproceso de interfaz de usuario de una tarea que no se ejecuta en el subproceso de interfaz de usuario
  • RxJava No puede crear el controlador dentro de hilo que no ha llamado Looper.prepare ()
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.