Eso depende de lo que haga su servicio, tomemos un ejemplo de un servicio que se lanza cada 15 minutos usando Alarm Manager (Inexact Repeating) para verificar si hay datos más nuevos del servidor y descargarlos para reemplazarlos con los datos antiguos.
En este caso, nosotros:
- Obtenga la información de datos
- Verifique la fecha de los nuevos datos.
- Si es nuevo Almacenar los datos
- Vuelva a intentar los próximos 15 minutos.
Hay algunos consejos para mejorar el rendimiento de su servicio:
- ¿Cómo muestro la pantalla de mi teléfono Android en mi PC sin instalar el SDK?
- ¿Es AndEngine la mejor opción para juegos 2D para Android?
- ¿Qué base de datos es adecuada para aplicaciones de Android que se ejecutarán en la nube?
- ¿Por qué Android tiene un límite estricto en el tamaño de almacenamiento dinámico de la VM Dalvik?
- ¿Cuáles son los deméritos del desarrollo de aplicaciones de Android?
- Compruebe la conexión a Internet: ¿qué sucede si el dispositivo está fuera de línea? El servicio simplemente seguirá tratando de obtener los datos del servidor y eso consume batería / rendimiento, simplemente podemos eliminar todas las tareas si el dispositivo está fuera de línea.
- Si el dispositivo está en línea y los datos superan los 2 Mb, podemos eliminar la descarga y verificación directa de datos simplemente ajustando nuestro servidor para notificar los nuevos cambios en los datos mediante una simple solicitud que devuelve menos de 5 Kb con los resultados para que podamos elegir si descargar los datos o no.
Al realizar estos simples cambios, el flujo de trabajo del servicio será así:
- Verifique la conectividad a internet.
- Envíe una solicitud GET al servidor para obtener el valor booleano de si debemos descargar los nuevos datos o no.
- En caso afirmativo, descargue y almacene los datos.
Al seguir esto, usted tendría una comprensión simple sobre cómo preservar el rendimiento / duración de la batería. Asegúrese siempre de que el servicio esté diseñado para utilizar recursos pequeños (CPU / MEM / NETWORK).