¿Qué sucede con la aplicación de Android y las actividades y servicios que pertenecen a la aplicación cuando el teléfono/AP pasa al modo de suspensión? ¿El marco destruirá las actividades y servicios y el sistema operativo matará el proceso?¿Qué sucede con Actividades/Servicios cuando el teléfono pasa al modo de suspensión/espera?
Respuesta
En caso del sueño dispositivo, de la actividad `onPause()' se llamará. Lee activity lifecycle para entender esto.
El sistema operativo solo elimina el proceso cuando la memoria/los recursos son bajos. Las actividades se matan primero, los servicios solo se matan como último recurso.
Pero no hay garantía de que no mueran. Es por eso que debe confiar en que los servicios del sistema lo llamen cuando necesite algún trabajo: use AlarmManager para llamar su código periódicamente o use oyentes para notificarle sobre cambios en el sistema (gps, red, etc.)
Cuando el teléfono duerme las actividades no se destruyen. Creo que todo lo que sucede es que las actividades siguen siendo las mismas, pero activa el método onPause().
Ver esta imagen:
Cuándo el teléfono se va a dormir, se llama al método onPause(). Este método es solo una advertencia para tu aplicación. Luego, dependiendo del dispositivo, la CPU también puede irse a dormir y la ejecución de su código puede detenerse. En la mayoría de los dispositivos, puede pasar entre 10 y 60 segundos después de que la pantalla se apague.
Es muy poco probable que al quedarse dormido resulte en la muerte de su aplicación.
Lo que vi en mi aplicación es que solo se llama al método onPause() de la actividad principal (category.Launcher). Esto sucedió cuando el teléfono se fue a dormir y antes de eso se había iniciado la actividad principal de la aplicación.
Cuando cualquiera de las otras actividades se habían iniciado antes de que el teléfono se va a dormir la primera onPause() es llamado entonces onStop() y en el extremo OnDestroy() - esto es para actividades que están en category.DEFAULT el manifiesto
No sé si tal vez el problema está en mi código?
- 1. ¿Qué sucede con las alarmas de repetición AlarmManager no entregadas cuando el teléfono se activa?
- 2. ¿Qué sucede durante el modo de espera y la hibernación?
- 3. ¿Qué sucede cuando se pasa la referencia al literal en C++?
- 4. ¿Qué sucede cuando compilo?
- 5. ¿Qué sucede cuando edito web.config?
- 6. ¿Qué sucede con otros hilos cuando un hilo se bifurca()?
- 7. Android - ¿Qué sucede cuando el dispositivo está desbloqueado?
- 8. ¿Qué sucede cuando combinamos RAII y GOTO?
- 9. ¿qué sucede cuando ocurren dos excepciones?
- 10. ¿Qué sucede cuando actualizamos una página web?
- 11. ¿Qué sucede con un swf cuando está incrustado?
- 12. Qué sucede cuando el grupo de conexiones Npgsql alcanza Max
- 13. ¿Qué sucede cuando expira el perfil de provisión?
- 14. ¿Qué sucede realmente cuando haces GetType()?
- 15. ¿Qué sucede cuando Varnish Cache está lleno?
- 16. ¿Qué sucede cuando cargo un ensamblaje?
- 17. ¿Qué sucede cuando mongodb está sin memoria?
- 18. ¿Qué sucede cuando ejecuta un programa?
- 19. ¿Qué sucede cuando un proceso se bifurca?
- 20. ¿Qué pasa con DCOM?
- 21. ¿Qué pasa con gethostbyname?
- 22. ¿Qué sucede con las solicitudes cuando tomcat se detiene
- 23. ¿Qué pasa con const?
- 24. ¿Qué pasa con gemspec?
- 25. ¿Qué sucede con los hilos y vistas de una actividad cuando se destruye?
- 26. ¿Qué sucede cuando escribo la contraseña incorrecta?
- 27. ¿Qué pasa con [UITableView reloadData]?
- 28. ¿Qué sucede con el manejador de interrupción adelantado?
- 29. ¿Qué sucede con el proceso hijo?
- 30. ¿Qué sucede cuando se "mata" la aplicación de Android?