Cosa succede alle applicazioni Android e alle attività e ai servizi che appartengono all'applicazione quando il telefono/AP va in modalità di sospensione? Il framework distruggerà Attività e Servizi e il sistema operativo uccide il processo?Cosa succede alle Attività/servizi quando il telefono va in modalità sospensione/standby?
risposta
In caso di sonno dispositivo, di attività di `onPause()' sarà chiamato. Leggi activity lifecycle per capire questo.
Il sistema operativo uccide il processo solo quando memoria/risorse sono insufficienti. Le attività vengono uccise per prime, i servizi vengono uccisi solo come ultima risorsa.
Ma non c'è alcuna garanzia che non saranno uccisi. Questo è il motivo per cui dovresti affidarti ai servizi di sistema per chiamarti quando hai bisogno di fare del lavoro: usa AlarmManager per chiamare periodicamente il tuo codice o usare gli ascoltatori per notificare le modifiche del sistema (gps, rete, ecc.)
Quando il telefono dorme, le attività non vengono distrutte. Credo che tutto ciò che accadrà sia che le attività rimangano invariate, ma attivate il metodo onPause().
visualizzare questa immagine:
Quando il telefono va a dormire viene chiamato il metodo onPause(). Questo metodo è solo un avvertimento per la tua app. Quindi, a seconda del dispositivo, la CPU potrebbe andare in stop e l'esecuzione del codice potrebbe interrompersi. Sulla maggior parte dei dispositivi questo può essere ovunque da 10 a 60 secondi dopo che lo schermo diventa nero.
È molto improbabile che l'addormentamento causi la morte della tua app.
Quello che ho visto nella mia applicazione è che viene chiamato solo il metodo onPause() dell'attività principale (category.LAUNCHER). Ciò è accaduto quando il telefono è andato a dormire e prima era stata avviata l'attività principale dell'applicazione.
Quando una delle altre attività era stata avviata prima che il telefono andasse a dormire, il primo onPause() viene chiamato then onStop() e alla fine onDestroy() - questo è per le attività di categoria.DEFAULT in il manifest.
Non so forse il problema è nel mio codice?
- 1. cosa succede esattamente quando `enableProdMode()`
- 2. Cosa succede alle richieste quando tomcat si interrompe
- 3. Cosa succede sotto il cofano quando presentiamoViewController?
- 4. Cosa succede quando il master Spark fallisce?
- 5. Cosa succede quando compongo * con + in Haskell?
- 6. Android: cosa succede quando il dispositivo è sbloccato?
- 7. Cosa succede quando si esegue ng serve?
- 8. cosa succede quando impongo il modulo due volte in python
- 9. Cosa succede ai thread e alle visualizzazioni di un'attività quando viene distrutta?
- 10. Cosa succede quando uso per (i in object) in AS3?
- 11. Quando esattamente .NET Monitor va in modalità kernel?
- 12. Cosa succede quando il riferimento C++ lascia il suo ambito?
- 13. Cosa succede alle posizioni di memoria in Python quando si sovrascrive una variabile?
- 14. Cosa succede alle righe ignorate quando Ignora errore è selezionato in SSIS?
- 15. Cosa succede quando eseguo un'applicazione su tomcat in Eclipse
- 16. Cosa succede quando un processo è biforcato?
- 17. Cosa succede quando localStorage è pieno?
- 18. Cosa succede quando uniamo RAII e GOTO?
- 19. In MSP430, cosa succede quando cancello un puntatore nullo?
- 20. Cosa succede quando aggiorniamo una pagina web?
- 21. Quando il dispositivo Android entra in modalità di sospensione?
- 22. Cosa succede quando si modifica direttamente Gemfile.lock?
- 23. cosa succede quando una discussione genera un'eccezione?
- 24. Cosa succede in BeginProcessRequest()?
- 25. Cosa succede realmente quando un byte trabocca?
- 26. Cosa succede quando l'app TestFlight scade?
- 27. Cosa succede a un'attività quando è annullata?
- 28. cosa succede quando si verificano due eccezioni?
- 29. Cosa succede quando Varnish Cache è pieno?
- 30. Cosa succede quando riavvio un'istanza EC2?