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); 
  • Múltiples AudioTracks, Single Thread o Multiple?
  • Android AsyncTask permanece en estado de ejecución después de completar
  • Java - Android: Hilo que se llama (ejecutar) dos veces
  • ¿Cuál es el mecanismo detrás de startActivityForResult () en Android?
  • Java.lang.RuntimeException: Sólo se puede crear un Looper por subproceso
  • Pasar un mensaje del hilo a la interfaz de usuario de actualización
  • ¿Cómo evitar la espera en el hilo principal cuando se añaden los encabezados a las solicitudes de retrofit?
  • Cómo utilizar runOnUiThread sin obtener "no puede hacer una referencia estática al método no estático" error de compilador
  • Configuración de un Runner de Java Thread después de la construcción
  • Java / Android espera hasta que haya terminado un hilo antes de ejecutar un nuevo método
  • Android equivalente de iOS GCD dispatch_group API
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.