Hilo, Hilo de interfaz de usuario, Hilo de trabajo, Async Task
Estoy confundido al tratar de entender los conceptos de Processes
y Threads
en Android. A continuación menciono algunas preguntas. Tal vez esas son preguntas estúpidas, pero por favor ayúdeme a responder a responder a estas preguntas y aclarar mis dudas.
1) ¿Si creo un hilo donde funcionará? En el Thread
principal (UI)?
- Ayúdame a usar correctamente los Servicios y los Hilos
- Android claro hilo webview, libre de memoria, evitar OutOfMemoryError
- Android - perfil de un hilo específico (UI Thread) a través de DDMS
- Android: los hilos no se ejecutan en paralelo
- End SurfaceView y GameThread al salir de la aplicación
2) Si mi hilo creado se ejecuta en segundo plano como un Thread
trabajo, ¿cuál es el uso de AsyncTask
(me refiero a cómo es mejor que hilo)?
3) ¿Podemos crear un hilo en AsyncTask?
- ¿Cómo implementar un ProgressDialog mientras que Activity solicita un SoapObject desde un Servicio Web?
- Cómo llamar a las actividades de un hilo no actividad?
- Cómo administrar Loopers y Threads (el hilo no muere más!)
- ¿Cómo puedo mantener vivo el subproceso de un IntentService?
- ¿Cómo administrar una conexión Bluetooth en Android a través de cambios de configuración?
- Interpretación del seguimiento de rendimiento de Multicore (Eclipse / Android)
- La interfaz de usuario de Espresso se ejecuta cuando ejecuto una sola prueba, pero falla cuando ejecuto un conjunto de pruebas
- ¿Es necesario dejar un HandlerThread?
1. If i create a thread where it will run? in Main(UI) thread/Worker Thread?
Se ejecutará en un subproceso de trabajo no en el subproceso principal.
2.If my created thread runs on worker `Thread` then what is the use of `AsyncTask` (I mean how it is better than thread)?
AsyncTask
se utiliza para comunicarse con el hilo principal .. Por ejemplo, usted está descargando el archivo de Internet por lo que aquí desea actualizar el progreso de descarga en su Activity
.. para este AsyncTask mejores trajes. Usted actualizará el Ui usando onProgressUpdate()
method.So usted puede comunicarse fácilmente con el hilo de la interfaz de usuario.
3)Can we create a thread in Async task?
Sí, puedes crearlo pero es inútil porque AsyncTask
tiene un método doInBackGround()
que ya se ejecuta en un Thread
diferente, por lo que no es necesario crear un nuevo Thread
dentro de AsyncTask
.
- Si está creando un hilo en Actividad. Se ejecutará como un hilo independiente. Por defecto La actividad se ejecuta en el subproceso de interfaz de usuario. También se denomina subproceso principal.
- La tarea asíncrona no es más que un subproceso de trabajo que se utiliza para ejecutar operaciones de backround que no bloquearán el subproceso de UI. Por ejemplo: descargar un archivo.
- Asynctask es un hilo separado y tiene su propio ciclo de vida.
1) Se ejecutará como un subproceso de trabajo, no en el subproceso de interfaz de usuario.
2) Async Task te da la posibilidad de ejecutar ciertas cosas antes o después de que la tarea haya terminado. Especialmente útil cuando se tiene que actualizar los valores de la interfaz de usuario después de obtener datos de una conexión a Internet o acciones similares. También funciona muy bien para progressdialogs. Es un tipo de clase (se extiende AsyncTask), por lo que hay más estructura a continuación, acaba de iniciar un hilo.
3) Sí, usted puede. Si esto sería o no muy útil para usted, es una pregunta completamente diferente.
- ¿Por qué mi firmado apk se bloquea?
- Android: "El constructor AlertDialog.Builder (nuevo View.OnClickListener () {}) es indefinido" error