|
||
|
|
|
|||||||
| 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
|
||||
|
||||
|
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 |
|
|
|
#2
|
||||
|
||||
|
No creo que te ayude mucho, porque no estoy seguro al 100%, pero creo que asi es, te mataría la aplicación entera.
|
|
#3
|
||||
|
||||
|
Hola,
En otro foro me han contestado q se mata la aplicación entera, no hebras sueltas de aplicaciones. Un saludo |
|
#4
|
||||
|
||||
|
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.
|