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