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.

  • Múltiples temas en la actividad / servicio de Android
  • PARTIAL_WAKE_LOCK vs SCREEN_DIM_WAKE_LOCK en el subproceso de descarga
  • Cómo compartir un objeto entre dos subprocesos (sincronización de subprocesos)?
  • ¿Cómo cambiar dinámicamente las imágenes en SurfaceView?
  • ¿Cómo comprobar FileLock sin truncar el archivo?
  • Necesita un ejemplo que muestre cómo realizar solicitudes HTTP asíncronas
  • excepción thread.stop ()
  • Mensajería al hilo de la interfaz de usuario
  • Cargar anuncio (adMob) en el subproceso de fondo
  • Android Espresso waitFor .. y Thread.sleep () solución
  • Actualizar la interfaz de usuario de Android desde un subproceso de otra clase
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.