Bagaimana cara Android menghitung konsumsi baterai oleh aplikasi?
24
Bagaimana Android mengukur energi yang digunakan oleh komponen perangkat keras individu? Bagaimana Android mengukur energi yang digunakan oleh setiap proses individu?
Saya kira berapa banyak instruksi yang dilakukan dalam 1 detik.
AZ_
6
@Algo: Akan sangat menyesatkan untuk menganggap aplikasi latar belakang yang menggunakan banyak CPU lebih membutuhkan baterai daripada aplikasi lain yang menggunakan sedikit CPU tetapi banyak Wifi dan GPS dan tampilan.
Lie Ryan
Jika demikian maka Anda bisa mendapatkan petunjuk dari jumlah izin yang diperoleh aplikasi .. hanya sebuah ide.
AZ_
@ LieRyan dalam statistik baterai, bukankah wifi, gps, bluetooth, dll, dihitung sebagai "konsumen" baterai mereka sendiri?
Ryan Conrad
Jawaban:
11
Android melacak peristiwa yang memengaruhi penggunaan baterai dan menyimpan informasi ini dalam file batterystats.bin. Beberapa contoh:
layar lama aktif dengan pengaturan brithness tertentu
aplikasi mana (atau bukan proses aplikasi Android) dan berapa lama menahan kunci bangun (mencegah perangkat tidur)
Penggunaan CPU per proses (aplikasi Android atau proses lainnya)
kekuatan sinyal telepon
Penggunaan GPS
dll.
Android menghitung seberapa besar daya yang digunakan setiap Aplikasi atau komponen (misalnya layar) berdasarkan informasi konfigurasi yang disertakan pada perangkat oleh pabrikan.
Tidak semuanya diukur sehingga statistik kadang-kadang bisa menyesatkan, tetapi menjadi lebih baik dengan setiap rilis Platform Android.
Statistik baterai dapat dibuang dari perangkat menggunakan:
adb shell dumpsys batterystats
Berikut ini adalah fragmen yang menarik dari posting oleh Diane Hackborn dengan rincian lebih lanjut tentang konsumsi daya penguncian bangun:
Ada dua cara daya dari bangun kunci dihitung.
Pada beberapa chipset, cukup memegang kunci penguncian perlu untuk mencegah CPU dari tidur nyenyak. Dalam penggunaan baterai yang dilaporkan, penggunaan daya ekstra ini akan didistribusikan di semua aplikasi yang memegang kunci bangun.
Bahkan jika kunci penguncian itu sendiri tidak menyebabkan penggunaan daya, memegang kunci penguncian dalam satu aplikasi dapat memungkinkan aplikasi lain untuk menjalankan dan CPU ketika mereka tidak sebaliknya. (Misalnya, beberapa aplikasi mungkin memiliki loop {sleep (1); melakukan sesuatu;} yang tidak akan berjalan jika tidak ada kunci pengaktifan.) Untuk mengatasinya, setengah dari penggunaan CPU dari aplikasi didistribusikan untuk disalahkan. yang memegang kunci bangun.
dapatkah Anda memberikan sumber / referensi yang membuktikan jawaban Anda?
diimdeep
Semua informasi berasal dari tautan yang disediakan ke google + utas oleh pengembang Google yang akrab dengan bidang ini.
Paweł Nadolski
1
Perintah yang benar untuk perangkat baru (tidak yakin dari API mana) adalah: adb shell dumpsys batterystats, atau (jika Anda menginginkannya di dalam file): adb shell dumpsys batterystats> batterystats.txt
Jawaban:
Android melacak peristiwa yang memengaruhi penggunaan baterai dan menyimpan informasi ini dalam file batterystats.bin. Beberapa contoh:
Android menghitung seberapa besar daya yang digunakan setiap Aplikasi atau komponen (misalnya layar) berdasarkan informasi konfigurasi yang disertakan pada perangkat oleh pabrikan.
Tidak semuanya diukur sehingga statistik kadang-kadang bisa menyesatkan, tetapi menjadi lebih baik dengan setiap rilis Platform Android.
Statistik baterai dapat dibuang dari perangkat menggunakan:
Berikut ini adalah fragmen yang menarik dari posting oleh Diane Hackborn dengan rincian lebih lanjut tentang konsumsi daya penguncian bangun:
sumber