2011-02-17 17 views
6

La mayoría de los componentes del sistema Android no son seguros para subprocesos, al menos esta es la suposición de que normalmente trabajo.¿Se puede invocar startServce() desde cualquier conversación?

Sin embargo, ¿es seguro invocar startService() desde un hilo de fondo?

me encontré con un post de Dianne Hackborn quien dice que es seguro llamar sendBroadcast() de cualquier hilo, por lo que quiero suponer que esto también es cierto para startService() (http://groups.google.com/group/android-developers/msg/38a09b52de93f70a).

¿Alguien con experiencia en framework puede comentar?

Gracias!

Respuesta

-3

No conozco la teoría pero creo que la respuesta es sí, y es fácil de probar. Solo asegúrese de que, como siempre, si va a actualizar algo en la interfaz de usuario, para poner un controlador en su hilo principal y luego en el servicio, envíele a ese controlador un mensaje que contenga los datos que se colocarán en la interfaz de usuario.

+0

DJC, gracias por su respuesta, pero esto realmente no aborda mi pregunta. En cuanto a la actualización de la interfaz de usuario de un hilo de fondo: tienes toda la razón. Pero mi pregunta es acerca de cómo iniciar una instancia de android.app.Service desde un hilo de fondo, no sobre la actualización de la interfaz de usuario a partir de un hilo de fondo. – skyler

+0

En realidad, lo hice :) En su hilo, do startService (new Intent (this, MyService.class)); y mira lo que pasa. Simple como eso. – DJC

+1

Esto podría funcionar el 99.99% del tiempo, pero no significa que sea seguro para subprocesos. Voy a echar un vistazo a la fuente de Froyo y ver qué puedo encontrar. – skyler

Cuestiones relacionadas