Déboguer les wakelocks en local

Vous pouvez utiliser plusieurs outils pour déboguer une application exécutée localement qui utilise des wakelocks. Ces outils peuvent vous aider à identifier et à résoudre les problèmes de performances.

Les outils suivants peuvent vous aider à déboguer ou à optimiser vos wakelocks :

  • dumpsys fournit des informations sur l'état des services système d'un appareil.
  • Le traçage système produit un fichier de suivi permettant de générer un rapport système.
  • L'outil d'inspection des tâches en arrière-plan d'Android Studio vous aide à surveiller les wakelocks, y compris ceux qui peuvent être acquis par des bibliothèques comme WorkManager.

dumpsys

dumpsys est un outil qui s'exécute sur les appareils Android et fournit des informations sur les services système de l'appareil.

La commande suivante est particulièrement utile pour déboguer les wakelocks :

  • adb shell dumpsys batterystats fournit un historique détaillé des wakelocks détenus par chaque application. Pour en savoir plus, consultez la documentation sur l'inspection des diagnostics de la batterie avec dumpsys.

Traçage système

Le traçage système enregistre un large éventail d'activités de l'appareil sur une courte période. Le traçage système produit un fichier de trace permettant de générer un rapport système. Ce rapport vous aide à identifier les moyens d'améliorer les performances de votre application.

Pour savoir comment démarrer, consultez ce guide de démarrage rapide sur le traçage système. Vous pouvez également regarder cette vidéo sur l'amélioration de l'efficacité de la batterie Android.

Background Task Inspector

Vous pouvez utiliser l'outil d'inspection des tâches en arrière-plan d'Android Studio pour surveiller les wakelocks, les alarmes et les jobs.

En particulier, la bibliothèque WorkManager utilise JobScheduler pour planifier et exécuter des tâches. Pendant l'exécution de ces jobs, ils détiennent un wakelock attribué à l'application. Vous pouvez utiliser Background Task Inspector pour surveiller les Workers et les jobs qui s'exécutent en arrière-plan, et afficher des détails sur leur travail.