Creo que Google sugiere a los desarrolladores usar AsyncTask. Sin embargo, me gustaría saber cómo es diferente de usar 'new Thread' y luego llamar 'RunOnUiThread' en rendimiento y eficiencia de la memoria.Android: RunOnUiThread vs AsyncTask
Ejemplo para el uso de RunOnUithread:
// some code #1
Thread t = new Thread("Thread1") {
@Override
public void run() {
// some code #2
runOnUiThread(new Runnable() {
public void run() {
// some code #3 (that needs to be ran in UI thread)
}
});
}
};
t.start();
vs
AsyncTask:
onPreExecute() {
// some code #1
}
doInBackground() {
// some code #2
}
onPostExecute() {
// some code #3
}
¿Cuáles son las ventajas/desventajas?
Editar:
yo no busco respuestas como 'más fácil para ver el código', 'conveniente para los desarrolladores', etc. De hecho, estoy buscando diferencias registradas técnicos detrás de la escena.
Por ejemplo, la respuesta de Paul Nikonowicz a continuación habría sido la respuesta que quería ver. (Pero AsyncTask se comporta de la misma manera)
gracias. Algo que quería escuchar Si conoces algunas otras diferencias, me gustaría saber. Además, ¿cómo sabía que AsyncTask tiene un grupo estático de un máximo de 128 subprocesos? – jclova
Donde puedo leer más sobre esto en el sitio de Google Developer ... – aProgrammer
Sí ... ¿cómo supiste que AsyncTask tiene un grupo estático de 128 hilos ...? – songyy