Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 10/03/12, 10:37:17
Avatar de egesr
egesr egesr no está en línea
Usuario novato en la web
Mensajes: 5
 
Fecha de registro: mar 2012
Mensajes: 5
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Procesos y hebras

Hola,

Tengo una duda sobre lo que he leído en la documentación de android. En principio, siempre que se vaya a realizar una operación de larga duración, es conveniente hacerlo en una nueva hebra, que será creada desde un Activity (o bien desde un servicio). Esto es conveniente para no bloquear la hebra principal, y por tanto, no bloquear la interfaz de usuario.

Por otro lado, segun he leido, se supone que android si necesitara recursos puede matar el proceso en el que corre aplicación. Para ello android realiza una búsqueda de la aplicación "menos importante" (Empty process, Background process, Service process, Visible process y foreground process).

Mi duda es la siguiente. Supongamos que mi aplicación, por ejemplo, lanza una hebra desde un Activity, y esta hebra corre en un bucle infinito en el cual realiza cierta operación cada cierto tiempo. ¿Puede android llegar a matar unicamente a la hebra "hija" (worker thread) y no al proceso sobre el cual corre la aplicación?

Según me ha parecido entender, android no mata hebras, sino que mata procesos de aplicaciones, es decir, que mata de golpe tanto la hebra principal (gui thread) como las hebras hijas lanzadas desde los componentes de la aplicación (activities, services, etc).

Muchas gracias
Responder Con Cita


  #2  
Viejo 10/03/12, 11:28:00
Avatar de galcober
galcober galcober no está en línea
Miembro del foro
Mensajes: 48
 
Fecha de registro: jun 2011
Localización: Zaragoza
Mensajes: 48
Modelo de smartphone: Jiayu G3
Versión de ROM: [ICS 4.0.4]
Tu operador: Pepephone
Mencionado: 0 comentarios
Tagged: 0 hilos
No creo que te ayude mucho, porque no estoy seguro al 100%, pero creo que asi es, te mataría la aplicación entera.
Responder Con Cita
  #3  
Viejo 11/03/12, 13:42:54
Avatar de egesr
egesr egesr no está en línea
Usuario novato en la web
Mensajes: 5
 
Fecha de registro: mar 2012
Mensajes: 5
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Hola,

En otro foro me han contestado q se mata la aplicación entera, no hebras sueltas de aplicaciones.

Un saludo
Responder Con Cita
  #4  
Viejo 11/03/12, 15:40:08
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Si podría pasar, pero si usas un servicio y es Android el que tiene que matarlo en cuanto vuelva a tener memoria disponible lo volverá a relanzar. Esto solo pasa si es el sistema el que decide hacerlo, si es de forma manual o un Task Killer el que realiza la operación el sistema no lo volverá a lanzar.
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 13:52:00 (GMT +1)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007