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