Tengo una ejecución del servicio androide, pero quiero ejecutar un método de servicio específica cada X horas para actualizar los datos. ¿Cuál es el mejor enfoque para hacer esto sin desperdiciar recursos de Android?¿Cómo ejecuto un método de servicio periódicamente?
Respuesta
mira en el AlarmManager.
Aclaración: ya que desea que el método de servicio para funcionar con intervalos de una hora, usted no desea mantener su proceso de servicio que se ejecuta durante todo este tiempo. Mediante el uso del AlarmManager
, el sistema operativo puede matar el servicio cuando no es necesario y, a continuación, abrirlo para ejecutar el método cuando sea el momento.
¿Qué sucede si los intervalos son cuestión de minutos? ¿Es una buena idea usar el AlarmManager? ¿O es mejor hacer que el hilo invocado por el servicio duerma durante unos minutos? – Leeeeeeelo
@Leeeeeeelo - para la eficiencia, con intervalos pequeños (menos de 10-15 minutos), no hay que ir con AlarmManager. Hay discusiones sobre eso en otros lugares en SO, p. http://stackoverflow.com/questions/11434056/how-to-run-a-method-every-x-seconds –
- 1. Servicio de Windows que se ejecuta periódicamente
- 2. método de llamada asíncrono C# periódicamente
- 3. ¿Cómo ejecuto correctamente un método Async en ASP.net MVC?
- 4. Cómo ejecuto un archivo * .dll
- 5. ¿Cómo ejecuto un archivo XSLT?
- 6. ¿Cómo ejecuto un servidor Mercurial?
- 7. ¿Cómo ejecuto MinGW con un script?
- 8. ¿Cómo ejecuto un script Perl desde un script Perl?
- 9. ¿Cómo ejecuto un programa de Python?
- 10. ¿Hay un método Rx para repetir el valor anterior periódicamente cuando no hay valores entrantes?
- 11. ¿Cómo llamar a un método de servicio web?
- 12. JSF, actualiza periódicamente un componente con ajax?
- 13. Android Handler Periódicamente
- 14. Ruby: ¿cómo ejecuto un método en cada elemento de la matriz en diferentes subprocesos?
- 15. ¿Cómo ejecuto el código antes y después de un método en una subclase?
- 16. ¿Cómo ejecuto un programa usando Maven?
- 17. ¿Cómo ejecuto un HTTP PUT en bash?
- 18. ¿Cómo ejecuto un comando sudo en Emacs?
- 19. ¿Cómo ejecuto un archivo en localhost?
- 20. ¿Cómo detener un servicio dentro del método OnStart?
- 21. ¿Cómo ejecuto un programa como nadie?
- 22. ¿Cómo ejecuto un ejecutable usando Lua?
- 23. ¿Cómo ejecuto un script bash en Terminal?
- 24. ¿La mejor manera de ejecutar periódicamente un script PHP?
- 25. Cómo buscar periódicamente dispositivos bluetooth en Android
- 26. Cómo encontrar periódicamente la ubicación de GPS en Android
- 27. ¿Cómo ejecuto un archivo Ruby en un entorno de Rails?
- 28. ¿Cómo ejecuto un contenedor desde el interior de un contenedor?
- 29. ¿Cómo ejecuto un editor desde un script de shell?
- 30. WCF servicio falla con un método no permitido
¿Por qué no acaba de iniciar el servicio una vez y luego agregar un contador de tiempo o hacer el sueño de rosca para la cantidad de tiempo que te gusta? – CodeKrieger
Esto requeriría que el proceso de servicio ejecute * siempre *. Por horas. Esto no es efectivo en recursos. –
Gracias! Estoy aprendiendo, voy a buscar cómo agregar el temporizador. Cualquier sugerencia? – Ferran