¿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
- Cómo activar Internet continuamente en modo doze Marshmallow and Nougat
- ¿Cómo se puede ejecutar servicio indefinidamente y también permitir la vinculación en android?
- Android ResultReceiver a través de paquetes
- Notificación de IntentService - NullPointerException mientras obtiene Context
- AVD no se está ejecutando
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" .
- Descargar varios archivos con una barra de progreso en ListView Android
- ¿Qué significa android: enabled para un servicio?
- Aclaración de setUpdateCurrent en OneOffTask
- Antecedentes El servicio se mata en android
- Creación de servicio sin consolidar en Kotlin
- Buena aplicación de ejemplo para el servicio de Android
- ¿Por qué mis intenciones no se entregan correctamente?
- Cómo agregar un servicio de sistema a Android Framework
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?