Bagaimana cara mendiagnosis menguras baterai pada perangkat Android menggunakan logcat?

17

Saya telah menghadapi masalah pembuangan baterai yang parah pada ROM kustom Cyanogenmod resmi saya. Setelah mendiskusikannya di forum komunitas, disarankan agar saya menggunakan logcat untuk memecahkan masalah.

Masalah:
Setiap kali saya melepas perangkat saya setelah diisi penuh, ia menghabiskan baterai dengan cepat. Kehilangan hampir 50% dalam 15-20 menit. Seperti disebutkan di atas, saya berencana untuk menggunakan logcat untuk mencoba dan menangkap masalah ini. Saya berencana untuk adb logcatsegera menjalankannya setelah mencabut telepon dari daya. Namun, saya telah menggunakan logcat di masa lalu dan merasa sangat sulit untuk mengekstraksi data spesifik dari output besar. Saya sudah melewati halaman bantuan logcat resmi dan Membaca dan Menulis Log untuk melihat apakah saya dapat menemukan sesuatu yang bermanfaat, tetapi saya tidak dapat menemukan solusi untuk masalah saya.

Pertanyaan:

  • Apakah ada cara untuk menggunakan filter atau fitur lain di mana saya dapat membatasi output logcat ke statistik yang hanya terkait dengan penggunaan baterai?
  • Bisakah sesuatu seperti adb shell dumpsys batterystats > batterystats.txtlebih bermanfaat bagi saya? Jika demikian, bagaimana cara menggunakannya untuk mendapatkan yang saya inginkan?

Grafik Baterai1 Pola Penggunaan tidak menunjukkan apa pun Grafik Baterai 2

UPDATE:
BatteryStats untuk saluran pembuangan saya sekarang dapat ditemukan di sini di Patebin. Juga ini Bagan Sejarawan Baterai saya:
Bagan Sejarawan Baterai

theHeman
sumber
1
Dari grafik debit, saya lebih suka menganggap baterai salah di sini daripada aplikasi (terutama jika selalu terjadi seperti itu). Mungkin Anda mencoba baterai baru (asalkan perangkat Anda mendukung untuk menggantinya)?
Izzy
Saya pikir masalahnya adalah baterai, bukan aplikasi. Cobalah pinjam baterai seseorang dengan perangkat yang sama, dan uji apakah ada kesalahan yang sama dengan baterai yang lebih baru. Jika tidak, Anda hanya perlu mendapatkan baterai baru. Jika masih ada, saya masih tidak berpikir itu karena sebuah aplikasi - untuk menguras baterai sebanyak ini, itu perlu untuk mengaktifkan GPS, memiliki lalu lintas jaringan yang berat dan melakukan proses yang kompleks sekaligus.
Namnodorel
@Namnodorel sayangnya, ini adalah baterai yang tidak bisa dilepas .. Saya juga pikir itu bukan karena aplikasi apa pun. Entah itu kebocoran di ROM atau sesuatu yang lain. Saya berasumsi tidak ada masalah pada baterai karena seperti yang saya katakan, setelah saya mengisi ulang jika setelah jatuh, berfungsi dengan baik: |
theHeman
Baterai yang rusak terkadang tidak konsisten. Baterai Galaxy S6 saya perlahan-lahan sekarat, dan beberapa hari lebih baik, beberapa hari lebih buruk. Saluran air saya tidak sepenting milik Anda, tetapi saya percaya itu bukan karena aplikasi. Sudahkah Anda mencoba menjalankan telepon dalam mode aman? Sudahkah Anda mencoba pengaturan ulang pabrik (sama buruk dan tidak menguntungkannya dengan kinerja dan pemulihan)?
Kaizerwolf

Jawaban:

1

Apakah Anda yakin, itu bukan aplikasi yang menghabiskan baterai Anda? Anda dapat mengetahui hal ini dengan mem-boot ponsel Anda ke mode Aman. Baca Cara mem-boot ponsel Anda ke mode aman untuk instruksi. Jika baterai Anda tidak mengalir dalam mode Aman, coba hapus instalan aplikasi yang Anda instal setelah Anda mulai melihat perilaku aneh ini. Jika Anda tidak dapat mengetahui aplikasi mana itu, coba atur ulang pabrik. Juga, jika baterai habis begitu cepat mungkin itu adalah baterai yang rusak.

Sakethram
sumber
Nah, saran umum itu baik, tetapi itu tidak benar-benar menjawab pertanyaan sebenarnya (mendiagnosis penggunaan baterai menggunakan logcat)
Andrew T.
@AndrewT. Secara umum, Anda benar. Tetapi mengingat OP ingin menyelesaikan masalah, memperbaikinya ke logcat entah bagaimana menjadikannya masalah XY (dalam batas). Jadi meskipun tidak 100% cocok dengan pertanyaan "secara harfiah", saya akan mengatakan itu cocok dengan masalah ini dan menawarkan pendekatan untuk menyelesaikannya.
Izzy
0

Apakah ada cara untuk menggunakan filter atau fitur lain di mana saya dapat membatasi output logcat ke statistik yang hanya terkait dengan penggunaan baterai?

Tentu. Cara yang lebih mudah adalah dengan menggunakan monitor perangkat dari Android Studio. Cara yang lebih kompleks adalah dengan menggunakan antarmuka baris perintah untuk adb logcat (menggunakan ANDROID_LOG_TAGS env var). Cf Logcat Command-line Alat dokumentasi di developer.android.com.

Dapatkah sesuatu seperti adb shell dumpsys batterystats> batterystats.txt lebih bermanfaat bagi saya? Jika demikian, bagaimana cara menggunakannya untuk mendapatkan yang saya inginkan?

Pengurasan baterai terutama disebabkan oleh beberapa kondisi tak terduga yang terjadi (kesalahan dalam melakukan aplikasi untuk loop tak terhingga, perangkat yang terdeteksi buruk membuat akses sub optimal, untuk ex membaca byte per byte, bukan Mb per Mb, dll). Anda harus menggunakan kemampuan pemfilteran adb logcat untuk menemukan kondisi yang tidak terduga tersebut. Tetapi berhati-hatilah karena alat-alat seperti itu terutama digunakan oleh aplikasi atau bahkan pengembang platform, dan kadang-kadang bisa sedikit rumit untuk menafsirkan log tersebut. Namun 100% dari orang-orang yang berhasil, telah mencoba ;-)

Rémi Cohen-Scali
sumber