يتم الحصول على معلومات استخدام البطارية من إحصاءات استخدام البطارية وقيم الملف الشخصي للطاقة.
إحصاءات استخدام البطارية
يحدِّد إطار العمل تلقائيًا إحصاءات استخدام البطارية من خلال تتبُّع المدة التي تقضيها مكوّنات الجهاز في حالات مختلفة. عندما تتغيّر حالات المكوّنات (شريحة Wi-Fi وجهاز البث الخلوي وبلوتوث ونظام تحديد المواقع العالمي (GPS) وشاشة العرض ووحدة المعالجة المركزية (CPU)) (إيقاف/تشغيل، وضع السكون/الطاقة الكاملة، سطوع منخفض/عالٍ، وما إلى ذلك)، تُرسِل الخدمة المُتحكّمة تقارير إلى خدمة BatteryStats في إطار العمل. يجمع تطبيق BatteryStats المعلومات بمرور الوقت ويخزّنها لاستخدامها عند إعادة التشغيل. لا تتتبّع الخدمة استهلاك تيار البطارية مباشرةً، بل تجمع بدلاً من ذلك معلومات التوقيت التي يمكن استخدامها لتقدير استهلاك البطارية من خلال المكوّنات المختلفة.
يجمع إطار العمل الإحصاءات باستخدام الطرق التالية:
- Push: تُرسِل الخدمات التي تكون على دراية بتغييرات المكوّنات تغييرات الحالة إلى خدمة BatteryStats.
- سحب بالنسبة إلى المكوّنات، مثل استخدام التطبيقات لوحدة المعالجة المركزية، يسحب الإطار العمل البيانات تلقائيًا عند نقاط النقل (مثل بدء نشاط أو إيقافه) لالتقاط لقطة.
يرتبط استهلاك الموارد بالتطبيق الذي يستخدم المورد. عندما تستخدم عدة تطبيقات موردًا في الوقت نفسه (مثل عمليات قفل التنشيط التي تمنع النظام من التعليق)، يوزّع إطار العمل الاستهلاك على هذه التطبيقات، ولكن ليس بالضرورة بالتساوي.
لتجنُّب فقدان إحصاءات الاستخدام لحدث إيقاف التشغيل، والذي قد يشير إلى مشاكل في استهلاك طاقة البطارية (أي يحدث إيقاف التشغيل لأنّ البطارية وصلت إلى سعة متبقية صفرية)، يعرض الإطار الإحصاءات كل 30 دقيقة تقريبًا.
يعالج إطار العمل إحصاءات استخدام البطارية بالكامل ولا يتطلّب تعديلات من المصنّعين الأصليّين للأجهزة.
قيم الملف الشخصي للطاقة
تحذير: على المصنّعين تقديم ملف تعريف استهلاك طاقة المكوّن الذي يحدّد قيمة الاستهلاك الحالية للمكوّن ومعدل استهلاك البطارية التقريبي الذي يسببه المكوّن بمرور الوقت. يتم تعريف هذا الملف الشخصي فيملف platform/frameworks/base/core/res/res/xml/power_profile.xml. للحصول على إرشادات حول هذه الإعدادات، يُرجى الاطّلاع على قيم الطاقة.
ضمن ملف الطاقة، يتم تحديد استهلاك الطاقة بوحدة ملي أمبير (mA) من استهلاك التيار عند جهد سمياني، ويمكن أن تكون قيمة كسرية محدّدة بوحدة ميكرو أمبير (uA). يجب أن تكون القيمة هي كثافة تيار mA المستهلك في البطارية وليس قيمة تنطبق على سكة طاقة لا تتوافق مع كثافة التيار المستهلك من البطارية.
على سبيل المثال، يحدِّد ملف طاقة الشاشة مقدار التيار الكهربي بالمللي أمبير المطلوب لإبقاء الشاشة مفعَّلة بأقل درجة سطوع وبأعلى درجة سطوع. لتحديد تكلفة الطاقة (أي كمية البطارية التي يتم استهلاكها من خلال مكوّن الشاشة) لإبقاء الشاشة مُشغّلة، يتتبّع إطار العمل الوقت الذي يتم قضاؤه عند كل مستوى من مستويات السطوع، ثم يضرب هذه الفترات الزمنية بتكلفة سطوع الشاشة التي تمّت الاستقراء.
ويُضاعِف الإطار أيضًا وقت وحدة المعالجة المركزية لكل تطبيق بمللي أمبير المطلوب لتشغيل وحدة المعالجة المركزية بسرعة معيّنة. يحدِّد هذا الحساب ترتيبًا مقارنًا لمقدار البطارية التي يستنزفها التطبيق من خلال تنفيذ رمز وحدة المعالجة المركزية (يتم تسجيل الوقت الذي يقضيه التطبيق في المقدّمة وإجمالي الوقت بما في ذلك النشاط في الخلفية بشكل منفصل).