No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Bases Técnicas de Android

Curso de Bases Técnicas de Android

Anahí Salgado Díaz de la Vega

Anahí Salgado Díaz de la Vega

Asynctask

11/27
Recursos

Aportes 48

Preguntas 8

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Ya no tiene soporte AsyncTask, posiblemente nuevas funcionalidades de Android ya no corran normalmente si lo siguen utilizando https://developer.android.com/reference/android/os/AsyncTask

Desde la API 30, asynctask quedo en desuso, en su lugar usar las corrutinas de Kotlin

Me doy cuenta al ver la documentación de referencia de AsyncTask que está obsoleta en la API 30 de android. En su lugar se deben usar las librerías de concurrencia de java o de kotlin. AsyncTask es recomendable para operaciones de corta duración.

Sin embargo, creo que es bueno conocer como se hacían antes las operaciones multihilo con AsyncTask por si se tiene que mantener código legado, y además la API 30 de android es para la versión 11 de Android, la más moderna.

El curso necesita actualizarse. Asynctask ya esta deprecated.

Multihilo. (2 o más hilos)
MainThread: Hilo principal que permite ejecutar una app en primer plano.
UX: No bloquear con un loader a la app, permitir que pueda navegar mientras realiza una tarea tardada en segundo plano.
AsyncTask: Permite trabajar con hilos. Como realizar una descarga que no interrumpar al MainThread.

onPreExecute(): Preparar las variables
doInBackground(): Realizar la tarea tardada.
onProgressUpdate(): Permite comunicarse con el MainThread.
onPostExecute(): Aviso de que termino el proceso tardado.

Multihilo
El multihilo básicamente se trata de trabajar con 2 o mas tareas a la vez. Para esto hay una clase en android que se llama ASYNCTASK, que nos ayuda demasiado al momento de implementar este tipo de trabajos.

Kotlin Coroutines es el futuro!

Cuantos Hilos en “paralelo” se pueden ejecutar en Android ?

  1. Depende de la versión de Android?

  2. Depende de la Memoria del dispositivo ?

  3. Depende de la Velocidad del núcleo principal o los nucleos del dispositivo ?-(núcleos me refiero al hardware)

Asyntask esta depreciado 😦

¿Entonces esta característica también seria de tomar en cuenta cuando decidamos cual seria nuestra minSDK version para saber hasta cuantos hilos podriamos mandar a ejecutar sin que se vea afectado el rendimiento?

Es una clase provista por Android que nos ayuda a trabajar con hilos (multiprocesos).

Es una mala práctica de UX bloquear la intefaz al ejecutar una descarga o cualquier proceso que se tenga que ejecutar.

Coincido con Ann. Esta característica se ve muy útil para una app. Como usuario es bastante pesado tener que lidiar con apps que usan pantallas de carga frecuentemente.

Para mantener la respuesta de la aplicación y evitar errores, es recomendable seguir dos reglas:

1.-No bloquear el hilo principal.
2.-Todas las operaciones de interfaz gráfica se hacen en el hilo principal.

¡Me encanta este curso!

Un buen ejemplo de esto sería el que tenemos en la aplicación de Spotify.

Todos los que tenemos Spotify Premium hemos descargado una playlist o un disco de nuestros artistas preferidosl, esta descarga de canciones se realiza de manera asincrona a nuestro procesamiento principal, es por esto que podemos seguir manejando la aplicación mientras se descarga nuestra música fav. ❤️

AsyncTask enables proper and easy use of the UI thread. This class allows you to perform background operations and publish results on the UI thread without having to manipulate threads and/or handlers.

AsyncTask is designed to be a helper class around Thread and Handler and does not constitute a generic threading framework. AsyncTasks should ideally be used for short operations (a few seconds at the most.) If you need to keep threads running for long periods of time, it is highly recommended you use the various APIs provided by the java.util.concurrent package such as Executor, ThreadPoolExecutor and FutureTask.

An asynchronous task is defined by a computation that runs on a background thread and whose result is published on the UI thread. An asynchronous task is defined by 3 generic types, called Params, Progress and Result, and 4 steps, called onPreExecute, doInBackground, onProgressUpdate and onPostExecute.

Si mantiene un código base antiguo con tareas asincrónicas en Android, es probable que tenga que cambiarlo en el futuro. Mi pregunta es cuál debería ser el reemplazo adecuado del fragmento de código que se muestra a continuación usando java.util.concurrent. Es una clase interna estática de una Actividad. Estoy buscando algo que funcione conminSdkVersion 16

AsyncTask: Es lanzar nuevos hilos. Una tarea asincrónica (asinc tasck) se define por un cálculo que se ejecuta en un hilo secundario y cuyo resultado queremos que se publique en el hilo del interfaz de usuario.

Había visto un poco de hilos en Java pero ahora veo la importancia en Android y sobretodo entiendo que nos ayudaran a evitar errores como el tipo de que la aplicación se ha detenido.

Desde que se incursionó con Kotlin coroutines el mundo es mejor xd

no pudo ser mejor explicado, gracias ^^

Buena explicación, espero aprender el manejo de multihilos adecuadamente, dado que siempre he tenido problemas con ello…

Asynctask evita errores en la APP como se ha detenido entre otras 😉

Como recomendacion de la profe es que se trate de hacer hilos con asynctask para que no aparezcan mensajes de error o dar una mala experiencia de usuario .

la clase asynctask de android nos permite realizar multitareas que son separadas del hilo principal que maneja la aplicacion android

Me encaaanta!!! Gracias Anahí!!

services trabaja en background y tambien esto que es asinktask los dos arrancan desde una aplicacion principal, entonces cual es la diferencia?

Asynctask la clase clave para trabajar multiHilo

Encanto!

Buenas tardes,

Tengo una pregunta… En mi aplicacion tengo una clase que hereda de asynctask. Esta clase la instancio en el oncreate de una actividad en concreto. Existe la posibilidad de hacer que el metodo onPostExecute de la asynctask se ejecute exactamente en un momento que yo le especifique?

es muy importante aprender a utilizar los multi-hilos, muy bien explicado .

Interesante

Alguna vez tuve la necesidad de ejecutar una acción en un nuevo hilo fuera del main thread, por que así me lo aconsejaron, trate de leer y entender el concepto pero al final no entendí y en fin, copy and paste. Pero hoy finalmente supe por que se debe hacer de ésta forma. Gracias

importante entender el uso de multihilos

¿Con asyntask puedo crear por ejemplo un hilo premium? Es decir, con un identificador para que la aplicación lance sólo activities premium

Permite trabajar con multihilos (ejecutar varios procesos a la vez) para asegurar el rendimiento y experiencia de usuario de la aplicación.

😮

Asynctask, es una clase preparada por el API de Android ya lista para trabajar con un hilo de java (un hilo es cuando trabajamos un multiproceso).
.
 Hilo principal, es el que tiene el control en la interfaz de la app
 Hilos secundarios, son los que se ejecutan en background (fuera de la interfaz).

Genial!

Que todo será charla!

Queda claro.

AsyncTask estaba destinado a permitir un uso adecuado y fácil del hilo de la interfaz de usuario. Sin embargo, el caso de uso más común fue la integración en la interfaz de usuario, y eso causaría fugas de contexto, devoluciones de llamada perdidas o fallas en los cambios de configuración. También tiene un comportamiento inconsistente en diferentes versiones de la plataforma, se traga las excepciones doInBackgroundy no proporciona mucha utilidad sobre el uso de Executors directamente.
En vez de esto usar las Corrutinas de Kotlin

He visto a varios diciendo que el emulador de Android Studio no funciona en AMD. Eso fue en el 2018, yo les habló del futuro(2021) y tengo un Rizen. ¿Todavía existe ese problema o ya se solucionó?
Android Studio cambio de icono, ahora es mas bonito (*^‿^*)

uff yo amo esta funcion de android

que chimba la forma de entenderle a ann, esto lo vi en el curso de js, pero fue muy enrredado, y no entendi como podria usarlo en la vida real, aqui ya me quedo clarito como el agua.

Actualmente android lanza una exception si intentas bloquear el hilo principal con una llamada a un servidor

loading para bloquear la pantalla mientras se descargan datos para el uso de la app

Es un mala practica
lo recomendable un usar asynctask y tener un proceso en background