¿Por qué no Service.onStop método?
He leído mucho sobre el servicio de Android. Según entiendo, el ciclo de vida es:
void onCreate() void onStart(Intent intent) ... void onDestroy()
Http://www.linuxtopia.org/online_books/android/devguide/guide/topics/fundamentals.html
- ¿Cuál es la forma preferida de volver a llamar a una actividad de Android desde un subproceso de servicio
- El servicio no se detiene incluso después de que el método onDestroy se llama en Android
- ¿Comprobar si el servicio se está ejecutando en Android?
- Devolver un resultado de error en inKeyguardRestrictedInputMode ()
- ¿Cómo puedo ejecutar un servicio en un hilo separado?
Pero no hay un método onStop. Preguntas:
- ¿Por qué no hay un método de detención?
- ¿Qué sucede cuando se realiza una solicitud stopService en mi Servicio? (Desde fuera, tal vez por Android). ¿Puedo detectar este evento?
- Me gustaría hacer cumplir (o al menos verificar) que mi servicio es un singleton dentro de un proceso. ¿Cómo puedo hacer esto (o Android hace cumplir esto detrás de las escenas)?
Para el contexto, tengo algunos recursos que me gustaría asignar y liberar mientras el servicio se está ejecutando (en un "inicio"), y otro conjunto de recursos que me gustaría asignar y liberar mientras el servicio es un estado "creado" .
- ¿Pueden los servicios iniciados y enlazados vivir "para siempre"?
- Servicio MediaPlayer Android
- Android: Mejor manera de obtener datos del servidor (Widget + aplicación)
- Diseño de arquitectura Android - ¿Cómo hacerlo bien?
- Android servicio notificar actividad completó la mejor manera?
- ¿Por qué mis intenciones no se entregan correctamente?
- ¿Cómo ejecutar el servicio no en el hilo principal?
- Administrador de alarmas programado no funciona Android
Según entiendo, el ciclo de vida es:
onStart()
ha quedado obsoleto durante algunos años. onStartCommand()
es el método del ciclo de vida actual.
¿Por qué no hay un método de detención?
Porque no hay necesidad de uno.
¿Qué sucede cuando se realiza una solicitud stopService en mi Servicio?
Usted será llamado con onDestroy()
.
¿Puedo detectar este evento?
Puede sobrescribir onDestroy()
.
Me gustaría hacer cumplir (o al menos verificar) que mi servicio es un singleton dentro de un proceso. ¿Cómo puedo hacer esto (o Android hace cumplir esto detrás de las escenas)?
Los servicios son singletons naturales. Habrá 0 o 1 instancia de su servicio en un momento dado.
Para el contexto, tengo algunos recursos que me gustaría asignar y liberar mientras el servicio se está ejecutando (en un "inicio"), y otro conjunto de recursos que me gustaría asignar y liberar mientras el servicio es un estado "creado" .
El estado "creado" se utiliza tanto con el patrón de comandos ( startService()
como onStartCommand()
) y el patrón de enlace ( bindService()
y onBind()
). Por lo tanto, si llama a startService()
, su servicio será puramente en el estado "creado" para esperanzadamente menos de un milisegundo.
- Android TranslateAnimación restablece después de la animación
- PictureListener y onNewPicture () están obsoletos – Alternativas?