Android: ¿Es mejor iniciar y detener un servicio cada vez que sea necesario o dejar que un servicio funcione y se vincule y se desvincule de él?

Estoy desarrollando una aplicación que comprueba varias condiciones durante una llamada telefónica entrante. Las partes principales de la aplicación son un BroadcastReceiver que escucha los intentos relacionados con el estado del teléfono y un servicio local que comprueba las condiciones.

En el momento en que se inicia el servicio cada vez que se detecta una llamada entrante y se detiene cuando el estado del teléfono vuelve a estar inactivo.

Ahora me pregunto si este procedimiento es correcto y si es razonable iniciar y detener el servicio relacionado con el estado del teléfono. O sería mejor dejar que el servicio se ejecute independientemente del estado del teléfono y vincular / desvincular a / desde cuando sea necesario.

¿Hay algún problema de rendimiento que tenga que pensar? Tal vez sea más caro iniciar / detener un servicio que dejarlo correr y comunicarse con él. ¿Existen mejores prácticas en materia de implementación de servicios?

O sería mejor dejar que el servicio se ejecute independientemente del estado del teléfono y vincular / desvincular a / desde cuando sea necesario.

Por favor, no lo hagas. Sólo tomará RAM por ninguna buena razón. Se trata de servicios eternos como este que hacen que los usuarios atacen a los desarrolladores con asesinos de tareas.

¿Existen mejores prácticas en materia de implementación de servicios?

Aquí hay dos de mis publicaciones sobre el tema, por lo que vale la pena.

  • Cómo detener / iniciar un servicio que contiene un bucle infinito en la creación
  • Excepción de ventana filtrada aunque no se utilice ningún servicio
  • ¿Por qué el servicio Android falla con NullPointerException?
  • Android: Obtener una instancia de un servicio en ejecución
  • IntentService no se está llamando
  • ¿Cómo implementar mejor dos actividades que comparten un servicio (con conexión Bluetooth)?
  • Android - el servicio se detiene cuando se destruye la actividad
  • Uso de ResultReceiver en Android
  • Cómo forzar el onServiceDisconnected () obtener llamado?
  • Detener el servicio en android
  • No se le permite enlazar con el servicio
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.