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.
- Mejores prácticas para pubnub en android
- Lectura de múltiples características de un dispositivo BLE de forma sincrónica (método recomendado para Android)
- ¿Cómo puede un servicio escuchar los gestos / eventos táctiles?
- Cómo autenticar servicio web sap con ksoap2
- Cómo iniciar la aplicación Android de sólo servicio
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?
- Proporcionar un servicio de fondo para otras aplicaciones
- Llamar el método de clase de actividad de la clase de servicio
- Cómo programar un evento de clics en Android
- ¿Cuáles son las ventajas y desventajas de ejecutar un servicio en un proceso diferente?
- Sqlite no pudo leer row 0 col -1 de cursorwindow de cursor en servicio de alarma
- Múltiples temas en la actividad / servicio de Android
- Enfoque eficiente para comprobar continuamente si la conexión a Internet está disponible en Android
- OnResult () en Awareness.SnapshotApi.getLocation NO se llama desde un servicio
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.