¿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

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" .

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.

  • Diferencia entre RTC y RTC_WAKEUP en android
  • Android NotificationListenerService lanza DeadObjectException
  • Problemas con la vinculación al servicio en Android
  • Throwable: No se pudo crear la tarjeta SD
  • Nombre de la Actividad o Receptor que llama al Servicio
  • ¿Diferencia entre START_STICKY y START_REDELIVER_INTENT?
  • Implementación de un grupo de subprocesos dentro de un servicio
  • Ejecutar un servicio con privilegios de root o agregar permisos con root
  • PeekService () devuelve null aunque el servicio se está ejecutando, si el servicio es reiniciado por el sistema después de matar OOM
  • Servicio de fondo de stop android después del bloqueo de actividad
  • Notificación RemoteView en el oyente de clics
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.