2010-08-21 11 views

Respuesta

29

Tal vez esto va a responder a su pregunta:

Una inició el servicio puede utilizar la API de startForeground para poner el servicio en un estado plano, en el que el sistema considera que sea algo el usuario es activamente consciente de y por lo tanto no es un candidato para matar cuando hay poca memoria. Por defecto, los servicios son de fondo, lo que significa que si el sistema necesita matarlos para reclamar más memoria (como mostrar una página grande en un navegador web), se pueden eliminar sin demasiado daño .

Más información se puede encontrar here

+0

¿Cómo puede saber si su servicio realmente comenzó como servicio en primer plano? ¿hay algún rastro en logcat? – Alex

+1

Si el servicio está en primer plano o en segundo plano depende de dos factores: el estado del servicio y la forma en que lo inició. http://developer.android.com/reference/android/app/Service.html#ProcessLifecycle –

14

tierra delantera: - El proceso se encuentra en onPause() y onResume() ... es decir, reproducir reproductor de música y de pausa presionando y juega

background: - El proceso que se ejecuta sin interacción del usuario, es decir recibir mensaje, llamada entrante, recibir correos, configurar alarmas ... el método utilizado aquí es onStart() y onStop() por ejemplo: - verifíquelo en su teléfono. crear una alarma a las 6:30 am ... cuando el reloj del sistema r llega a las 6:30 a.m., se dispara..para matar el servicio de alarma ... simplemente vaya - menú -> configuración -> aplicación -> Ejecutando servicio-- haga clic en detener el servicio ... detiene el servicio de alarma incluso su sistema llega al momento en que no se dispara

Cuestiones relacionadas