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