Ho una domanda su wakelock. Nei casi illustrati di seguito, il sistema operativo Android rilascia wakelock (PARTIAL_WAKE_LOCK
se è necessario specificare) per impedire che wakelock sia stato acquisito e sprecare batteria fino allo spegnimento (non in modalità di sospensione).Il sistema operativo Android rilascia un wakelock se l'app o il servizio che lo contiene viene ucciso?
Caso 1-a:
App ha acquisito Wakelock (w/opzione di timeout o) in uno dei thread (si prega di pensare che è ragionevole in questo caso) ed è stato progettato per rilasciare Wakelock quando compito critico era finito. L'app può essere uccisa dal task manager o dal famigerato taskkiller e l'app non ha alcuna possibilità di rilasciare il suo thread wakelock. Cosa succede a quel wakelock?
Caso 1-b:
opzione di timeout (Se la risposta al caso 1-a è "Sì, non ti preoccupare", quindi si prega di ignorare questo caso.) Stesso caso 1-a, ma ha dato app per wakelock, diciamo 3 secondi. L'opzione di timeout è valida?
Caso 2-a:
Si prega di immaginare c'è un servizio che è stato avviato da AlarmManager (tramite ricevitore broadcast) e il servizio ha acquisito una Wakelock (w/opzione di timeout o). Questo servizio è progettato per rendere minimo il tempo acquisito da wakelock. Sfortunatamente, il sistema operativo Android ha scelto questo servizio per uccidere a causa di problemi di memoria. (Non so se il sistema operativo non ucciderà il servizio quando wakelock verrà acquisito, ma suppongo che il sistema operativo non gli importi, ma spero che il SO rilascerà wakelock più tardi.) Cosa succede a quel wakelock?
Caso 2-b:
opzione di timeout (Se la risposta al caso 2-a è "Sì, non ti preoccupare", quindi si prega di ignorare questo caso.) Stesso caso 2-a, ma il servizio ha dato per wakelock, diciamo 3 secondi. L'opzione di timeout è valida?
Grazie per la tua risposta dettagliata e chiara a questa domanda di 2 anni. La tua risposta sicuramente aiuta molti sviluppatori, incluso me. – Tomcat
Con piacere, non so perché questa vecchia domanda è saltata al primo posto della lista delle domande ordinata per interesse. @Tomcat – StarPinkER