La mejor manera de ejecutar el método asincrónicamente en Android (compacto y correcto)

Digamos que tengo una actividad que muestra algún contenido en la pantalla. Necesito ejecutar algún método (asyncMethod) de forma asincrónica y cuando se hace, tengo que actualizar los datos en la pantalla. ¿Cuál es la manera más correcta y sencilla de hacer esto?

Actualmente la manera más simple que conozco es usar hilo:

new Thread(new Runnable() { public void run() { asyncMethod(); } }).start(); 

Estoy familiarizado con AsyncTask, pero es más complejo que usar el hilo y para cada método que necesito para ejecutar de forma asíncrona hay una necesidad de crear AsyncTask nuevo, mientras que esto es grandemente el tamaño del código aumenta.

Pensé en algún genérico AsincTask que obtiene el método como un parámetro y que lo ejecuta, pero en la medida en que sé que es imposible en Java para pasar métodos como parámetros.

En otras palabras, estoy buscando la forma más compacta (pero correcta) para ejecutar métodos asincrónicamente.

Handler y Looper .

La mayoría de las veces, mantenga el Handler al Looper del hilo de UI y luego utilícelo para publicar Runnable . Por ejemplo:

 Handler h = new Handler(); //later to update UI h.post(new Runnable(//whatever); 

PS: Handler y Looper son impresionantes. Tanto que los he rehecho para Java.

Si utilizó el patrón de diseño de comandos y realizó un AsyncTask genérico que podría ejecutar los objetos de "comando", sólo necesitaría una clase para cada tarea y la AsyncTask genérica para ejecutarlas todas. Incluso podría ir tan lejos como para hacer un genérico "comando" que ejecutó un método a través de reflexiones o algún método de interfaz predefinida.

  • Programación con SurfaceView y estrategia de hilos para el desarrollo de juegos
  • Schedulers.io () no vuelve al hilo principal
  • java.lang.IllegalStateException: Llamar Ver métodos en otro subproceso que el subproceso de interfaz de usuario
  • ¿Por qué utilizar AsyncTaskLoader con LoaderManager, en lugar de Simple Handler?
  • Thread / Handler error - El token de barrera de sincronización de cola de mensajes especificado no se ha publicado
  • Cómo establecer la prioridad de IntentService en Android
  • Mostrar ProgressDialog Android
  • ¿Cómo ejecutar una función cada dos segundos en Java en Android?
  • Anotaciones de método Android para evitar que la llamada se realice en el subproceso de GUI
  • android Espere entre actualizaciones de GridView
  • Iniciar nuevo subproceso en Async Task
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.