Menganalisis penggunaan daya dengan Battery Historian

Alat Battery Historian menyediakan data tentang penggunaan baterai suatu perangkat dari waktu ke waktu. Pada tingkat sistem, alat ini memvisualisasikan peristiwa terkait daya dari log sistem dalam representasi HTML. Pada tingkat khusus aplikasi, alat ini menyediakan berbagai data yang dapat membantu Anda mengidentifikasi perilaku aplikasi yang menguras daya baterai.

Dokumen ini menjelaskan beberapa cara menggunakan Battery Historian untuk mempelajari pola penggunaan baterai. Bagian awal dokumen menjelaskan cara membaca data seluruh sistem yang dilaporkan oleh Battery Historian. Lalu, bagian berikutnya menunjukkan cara menggunakan Battery Historian untuk mendiagnosis dan memecahkan masalah perilaku aplikasi yang berkaitan dengan penggunaan baterai. Bagian terakhir memberikan beberapa tips terkait skenario yang mungkin dapat memanfaatkan Battery Historian.

Menggunakan tampilan untuk seluruh sistem

Alat Battery Historian memberikan visualisasi sistem untuk berbagai perilaku aplikasi dan sistem, bersama dengan korelasinya terhadap penggunaan baterai dari waktu ke waktu. Tampilan pada Gambar 1 dapat membantu mendiagnosis dan mengidentifikasi masalah penggunaan daya dengan aplikasi Anda.

Tampilan Battery Historian untuk peristiwa di seluruh sistem yang memengaruhi
  penggunaan daya.
Gambar 1. Tampilan Battery Historian untuk peristiwa di seluruh sistem yang memengaruhi penggunaan daya.

Hal yang perlu diperhatikan pada gambar ini adalah garis tren hitam, horizontal, dan menurun yang menunjukkan Level Baterai, diukur pada sumbu y. Misalnya, di bagian awal garis Level Baterai, sekitar pukul 06.50, visualisasi menunjukkan penurunan level baterai yang cukup tajam.

Gambar 2 menunjukkan bagian tampilan tersebut dari jarak dekat.

Tampilan dekat linimasa Battery Historian dari sekitar pukul 06.50 hingga 07.20.
Gambar 2. Tampilan dekat linimasa Battery Historian dari sekitar pukul 06.50 hingga 07.20.

Saat terjadi penurunan baterai yang tajam di bagian awal garis Level Baterai, tampilan menunjukkan tiga hal yang sedang terjadi: CPU berjalan, aplikasi mendapatkan wakelock, dan layar menyala. Dengan ini, Battery Historian akan membantu memahami peristiwa yang terjadi saat penggunaan baterai tinggi. Kemudian, Anda dapat menargetkan perilaku ini di aplikasi dan menyelidiki apakah ada pengoptimalan terkait yang dapat dilakukan.

Visualisasi seluruh sistem juga dapat memberikan petunjuk lainnya. Misalnya, jika visualisasi menunjukkan bahwa radio seluler sering dinonaktifkan dan diaktifkan, mungkin ada peluang untuk mengoptimalkan perilaku ini melalui API penjadwalan cerdas seperti JobScheduler atau Firebase Job Dispatcher.

Bagian berikutnya menjelaskan cara menyelidiki perilaku dan peristiwa khusus untuk aplikasi Anda.

Melihat data khusus aplikasi

Selain data tingkat makro yang disediakan oleh tampilan seluruh sistem, Battery Historian juga memberikan tabel dan beberapa visualisasi data khusus untuk setiap aplikasi yang berjalan pada perangkat Anda. Data tabel tersebut mencakup:

  • Perkiraan penggunaan daya aplikasi pada perangkat.
  • Informasi jaringan.
  • Wakelock.
  • Layanan.
  • Info proses.

Tabel berikut memberikan dua dimensi data tentang aplikasi Anda. Pertama, Anda dapat mencari peringkat penggunaan daya aplikasi Anda dibandingkan dengan aplikasi lain. Untuk melakukannya, klik tabel Estimasi Daya Perangkat di bagian Tabel. Contoh ini membahas aplikasi fiksi bernama Pug Power.

Menyelidiki aplikasi yang paling banyak menggunakan daya.
Gambar 3. Menyelidiki aplikasi yang paling banyak menggunakan daya.

Tabel pada Gambar 3 menunjukkan bahwa Pug Power adalah pengguna daya baterai terbesar kesembilan pada perangkat ini, dan aplikasi terbesar ketiga yang bukan bagian dari OS. Data ini menunjukkan bahwa aplikasi ini perlu diselidiki lebih dalam.

Untuk mencari data aplikasi tertentu, masukkan nama paketnya di bagian bawah dua menu dropdown di bagian Pilihan Aplikasi yang berada di bawah sisi kiri visualisasi.

Memasukkan aplikasi tertentu yang ingin dilihat datanya.
Gambar 4. Memasukkan aplikasi tertentu yang ingin dilihat datanya.

Saat memilih aplikasi tertentu, kategori visualisasi data berikut berubah untuk menampilkan data khusus aplikasi, bukan data seluruh sistem:

  • SyncManager.
  • Proses di latar depan.
  • Userspace Wakelock.
  • Aplikasi teratas.
  • JobScheduler.
  • Activity Manager Proc.

Visualisasi SyncManager dan JobScheduler langsung menunjukkan apakah aplikasi melakukan sinkronisasi dan menjalankan tugas lebih sering daripada yang diperlukan. Dengan demikian, visualisasi tersebut dapat dengan cepat menemukan peluang untuk mengoptimalkan perilaku aplikasi Anda guna meningkatkan performa baterai.

Anda juga bisa mendapatkan satu lagi bagian data visualisasi khusus aplikasi, yaitu Userspace Wakelock. Untuk menyertakan informasi ini dalam laporan bug, masukkan perintah berikut di jendela terminal Anda:

$ adb shell dumpsys batterystats --enable full-wake-history

Gambar 5 dan 6 menunjukkan data untuk Pug Power: Gambar 5 menunjukkan visualisasi data khusus aplikasi, dan Gambar 6 menunjukkan data tabel yang sesuai.

Visualisasi data untuk aplikasi fiksi Pug Power.
Gambar 5. Visualisasi data untuk aplikasi fiksi Pug Power.


Data tabel untuk aplikasi fiksi Pug Power.

Gambar 6. Data tabel untuk aplikasi fiksi Pug Power.

Jika dilihat sekilas, visualisasi di atas tidak menunjukkan hal yang signifikan. Garis JobScheduler menunjukkan bahwa aplikasi tidak memiliki jadwal tugas. Garis SyncManager menunjukkan bahwa aplikasi belum melakukan sinkronisasi apa pun.

Namun, pemeriksaan segmen Wakelocks dari data tabel menunjukkan bahwa Pug Power memperoleh wakelock selama lebih dari satu jam. Perilaku yang tidak biasa dan mahal ini dapat menyebabkan tingginya penggunaan daya aplikasi. Informasi ini membantu developer menargetkan area yang pengoptimalannya mungkin akan sangat berguna. Dalam kasus ini, mengapa aplikasi memperoleh begitu banyak waktu wakelock, dan bagaimana developer dapat memperbaiki perilaku ini?

Kasus lain yang dapat memanfaatkan Battery Historian

Ada berbagai kasus lain yang dapat memanfaatkan Battery Historian untuk membantu Anda mendiagnosis peluang meningkatkan perilaku baterai. Misalnya, Battery Historian dapat memberi tahu Anda jika aplikasi Anda:

  • Mengaktifkan alarm bangun terlalu sering (setiap 10 detik atau kurang).
  • Mengunci GPS secara terus menerus.
  • Menjadwalkan tugas setiap 30 detik atau kurang.
  • Menjadwalkan sinkronisasi setiap 30 detik atau kurang.
  • Menggunakan radio seluler lebih sering dari yang diperkirakan.