L'autonomie
Ce qui vide la batterie d'un téléphone, les limites que le système impose au travail de fond, le verrou d'éveil, le regroupement et le report des tâches, et le choix de la précision et de la fréquence de la position.
- 29 cartes
- 7 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Sur la frise
- Les chiffres
- Mises en situation
- Comprendre
Quelques cartes du deck
Consommation de batterie : de quoi s'agit-il ?
Voir la réponse
Énergie que l'application fait dépenser au téléphone, surtout par l'écran, la radio (réseau, GPS) et le processeur tenu éveillé.
Une application coûte peu quand elle ne fait rien ; ce qui pèse, c'est ce qu'elle réveille : un envoi réseau, une mesure GPS, un calcul qui tient le processeur hors veille.
Qu'est-ce qui cloche dans ce code ?
```kotlin
val lock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "app:sync")
lock.acquire()
syncAll()`- Le verrou n'est jamais relâché :
release()manque, même après une synchronisation réussie PARTIAL_WAKE_LOCKallume l'écran pendant la synchronisation- Un verrou d'éveil ne peut être pris que dans l'activité au premier plan
- Le nom
"app:sync"est réservé au système
Voir la réponse
Le verrou n'est jamais relâché :
release()manque, même après une synchronisation réussieLe verrou est acquis mais jamais relâché : le processeur reste éveillé écran éteint. Il faut
try { syncAll() } finally { lock.release() }, pour qu'une exception ne l'empêche pas non plus, etacquire(10 * 60 * 1000L)pour qu'il expire seul.PARTIAL_WAKE_LOCKgarde seulement le processeur, pas l'écran.- Le verrou n'est jamais relâché :
Un verrou d'éveil doit toujours être … une fois le travail fini, dans un bloc …, pour qu'une exception ne le laisse pas actif.
Voir la réponse
Un verrou d'éveil doit toujours être relâché une fois le travail fini, dans un bloc finally, pour qu'une exception ne le laisse pas actif.
Sans
release(), le processeur reste éveillé écran éteint jusqu'à la mort du processus.acquire(délai)ajoute une sécurité : le verrou se relâche seul.Travail de fond : de quoi s'agit-il ?
Voir la réponse
Tâche exécutée par l'application sans écran visible : synchronisation, téléversement, rappel, mise à jour de données.
Le système limite ce travail pour protéger la batterie : une application ne peut pas supposer qu'elle tournera à l'instant voulu quand son écran est fermé.