على الشركات المصنّعة للأجهزة تقديم ملف تعريفي للطاقة للمكوّن في
/frameworks/base/core/res/res/xml/power_profile.xml
لتحديد قيم ملفات تعريف الطاقة، استخدم الأجهزة التي تقيس الطاقة يستخدمه الجهاز وتنفيذ العمليات المختلفة التي المعلومات اللازمة. يمكنك قياس استخدام الطاقة أثناء هذه العمليات وحساب القيم (استخراج الاختلافات من استخدامات الطاقة الأساسية الأخرى حسب الاقتضاء).
ونظرًا لأن الهدف من ملف تعريف الطاقة هو تقدير استنزاف البطارية بشكل مناسب، يشار إلى قيم ملف الطاقة بوحدة التيار (أمبير). يُضاعِف إطار عمل Android التيار بالوقت الذي كان فيه النظام الفرعي نشطًا ويُحتسب قيمة mAh، والتي يتم استخدامها بعد ذلك لتقدير كمية البطارية التي استهلكها التطبيق أو النظام الفرعي.
يمكن للأجهزة التي تعمل بالإصدار 7.0 من نظام التشغيل Android والإصدارات الأحدث، والتي تتضمّن وحدات تحكّم في البلوتوث والمودم وWi-Fi، تقديم قيم إضافية للطاقة يتم الحصول عليها من بيانات شرائح المعالجة.
الأجهزة التي تعمل بوحدات معالجة مركزية غير متجانسة
يجب أن يتضمّن الملف الشخصي للطاقة للأجهزة التي تحتوي على نوى وحدة معالجة مركزية ذات بنية غير متجانسة الحقول الإضافية التالية:
- إجمالي عدد وحدات المعالجة المركزية (CPU) لكل مجموعة (يتم التعبير عنه في cpu.clusters.cores).
- سرعات وحدة المعالجة المركزية المتوافقة مع كل مجموعة عنقودية
- استهلاك الطاقة النشط لوحدة المعالجة المركزية لكل مجموعة.
للتفريق بين الاستهلاك النشط للطاقة في وحدة المعالجة المركزية (CPU) ووحدة المعالجة المركزية (CPU) المتوافقة سرعات المجموعات العنقودية، تضيف رقم المجموعة إلى اسم الصفيفة. يتم تخصيص أرقام المجموعات بترتيب نوى وحدة المعالجة المركزية في شجرة أجهزة نظام التشغيل. على سبيل المثال، في بنية غير متجانسة تتضمّن مجموعتَين عنقوديتين تتضمّنان أربعة (4) قلبَين:
- تتألف المجموعة 0 من الوحدات cpu0-3.
- تتكون المجموعة 1 من وحدة المعالجة المركزية (cpu4-7)
يستخدم إطار عمل Android أرقام نوى وحدة المعالجة المركزية هذه عند قراءة الإحصاءات
من ملفات sysfs
في:
/sys/devices/system/cpu/cpu<number>/cpufreq/stats
.
مثال على وحدات المعالجة المركزية للمجموعة وسرعاتها:
<array name="cpu.active.cluster0"> <value>200</value> <value>300</value> <value>400</value> </array> <array name="cpu.speeds.cluster0"> <value>600000</value> <value>800000</value> <value>1200000</value> </array> <array name="cpu.active.cluster1"> <value>400</value> <value>500</value> <value>600</value> </array> <array name="cpu.speeds.cluster1"> <value>800000</value> <value>1200000</value> <value>1400000</value> </array>
قيم الطاقة
يوضّح الجدول التالي إعدادات قيمة الطاقة المتاحة. للاطّلاع على الملف النموذجي في AOSP، يُرجى الاطّلاع على power_profile.xml.
الاسم | الوصف | مثال على القيمة | ملاحظات |
---|---|---|---|
أجواء محيطة | الطاقة الإضافية المستخدَمة عندما تكون الشاشة في وضع "الاستراحة الذكية" أو "الإضاءة السينمائية" أو "العرض دائمًا" بدلاً من أن تكون مُطفأة | حوالي 100 ملّي أمبير | - |
screen.on | الطاقة الإضافية المستخدمة عند تشغيل الشاشة عند تشغيل الشاشة بأدنى حد من السطوع. | 200 ملّي أمبير | يشمل وحدة التحكّم باللمس والإضاءة الخلفية للشاشة. عند ضبط السطوع على 0%، وليس على الحد الأدنى لنظام التشغيل Android الذي يتراوح عادةً بين 10% و20%. |
screen.full | الطاقة الإضافية المستخدمة عندما تكون الشاشة في أقصى مستوى سطوع، مقارنةً الشاشة بأقل درجة سطوع. | من 100 مللي أمبير إلى 300 مللي أمبير | يُضاف جزء من هذه القيمة (بناءً على سطوع الشاشة) إلى قيمة screen.on لحساب استخدام الطاقة للشاشة. |
wifi.on | الطاقة الإضافية المستخدَمة عندما تكون شبكة Wi-Fi مفعَّلة ولكنّها لا تتلقّى إشارات أو تُرسِلها أو تبحث عنها | 2 مللي أمبير | - |
wifi.active | الطاقة الإضافية المستخدمة عند الإرسال أو الاستقبال عبر Wi-Fi. | 31 مللي أمبير | - |
wifi.scan | الطاقة الإضافية المستخدَمة عندما تبحث شبكة Wi-Fi عن نقاط الوصول | 100 مللي أمبير | - |
بعدّة لغات" | الطاقة الإضافية المستخدَمة عند فك ترميز الصوت أو ترميزه عبر وحدة معالجة الإشارات الرقمية | حوالي 10 مللي أمبير | يُستخدم لصوت DSP. |
فيديو | الطاقة الإضافية المستخدَمة عند فك ترميز الفيديو عبر وحدة معالجة الإشارات الرقمية | حوالي 50 مللي أمبير | يُستخدم لفيديو DSP. |
camera.avg | متوسط استهلاك الطاقة من قِبل النظام الفرعي للكاميرا لكاميرا عادية التطبيق. | 600 ملّي أمبير | يُعدّ هذا التقدير تقريبيًا لتطبيق يعرض معاينة ويلتقط 10 صور تقريبًا بدقة كاملة في الدقيقة. |
camera.flashlight | متوسط الطاقة التي تستخدمها وحدة فلاش الكاميرا عند تشغيلها. | 200 ملّي أمبير | - |
gps.signalqualitybased | الطاقة الإضافية التي يستخدمها نظام تحديد المواقع العالمي (GPS) استنادًا إلى قوة الإشارة. هذا إدخال متعدد القيم، واحد لكل قوة إشارة، من الأضعف إلى الأقوى. | 30 مللي أمبير، 10 مللي أمبير | - |
نظام تحديد المواقع العالمي (GPS.on) | الطاقة الإضافية المستخدَمة عندما يحصل نظام تحديد المواقع العالمي (GPS) على إشارة | 50 ملي أمبير | - |
راديو.تفعيل | الطاقة الإضافية المستخدمة عند الإرسال/استلام الراديو الخلوي | من 100 ملّي أمبير إلى 300 ملّي أمبير | - |
radio.scanning | الطاقة الإضافية المستخدمة عند تنقُّل البرج من خلال لاسلكي خلوي | 1.2 مللي أمبير | - |
radio.on | الطاقة الإضافية المستخدمة عندما يكون الاتصال اللاسلكي الخلوي قيد التشغيل. هذا إدخال متعدد القيم، قيمة واحدة لكل قوة إشارة (ما مِن إشارة، ضعيفة، معتدلة، قوية). | 1.2 مللي أمبير | بعض الأجهزة اللاسلكية تعزز الطاقة عندما تبحث عن برج اتصالات ولا تبحث اكتشاف إشارة. يمكن أن تكون القيم متطابقة أو تنخفض عند زيادة الإشارة. قُوَّة إذا قدّمت قيمة واحدة فقط، يتم استخدام القيمة نفسها لجميع نقاط القوة. إذا قدّمت قيمتَين، يتم استخدام الأولى للإشارة غير المتوفّرة، ويُستخدَم القيمة الثانية لجميع مستويات القوة الأخرى، وما إلى ذلك. |
Bluetooth.controller.idle. | متوسط استهلاك التيار (ملّي أمبير) لوحدة التحكّم في البلوتوث في وضع السكون | - | لا يتم تقدير هذه القيم، بل يتم أخذها من ورقة بيانات
وحدة التحكّم. إذا كانت هناك حالات متعددة للاستقبال أو الإرسال، فإن متوسط
من هذه الولايات. بالإضافة إلى ذلك، يجمع النظام الآن البيانات
عمليات البحث عن البلوتوث والطاقة المنخفضة (LE). Android الإصدار 7.0 والإصدارات الأحدث لم يعد يستخدم قيم طاقة البلوتوث لتفعيل البلوتوث. (يُستخدَم عند تشغيل الصوت من خلال Bluetooth A2DP) وBluetooth.on (عند الاستخدام البلوتوث مفعَّل ولكنه غير مستخدَم). |
bluetooth.controller.rx | متوسط الرسم الحالي (mA) لوحدة التحكُّم بالبلوتوث عند الاستلام | - | |
bluetooth.controller.tx | متوسط الرسم الحالي (mA) لوحدة التحكم في البلوتوث عند الإرسال. | - | |
Bluetooth.controller.voltage. | متوسّط الجهد الكهربي (مللي فولت) لوحدة التحكّم في البلوتوث | - | |
modem.controller.sleep | متوسط استهلاك التيار (ملّي أمبير) لوحدة التحكّم في المودم عندما يكون في وضع السكون | 0 مللي أمبير | هذه القيم غير تقديرية، ولكنها مأخوذة من ورقة بيانات وحدة التحكم. إذا كان هناك حالات استلام متعددة، يتم حساب متوسّط هذه الحالات. إذا كانت هناك حالات الإرسال المتعددة، مع تحديد قيمة لكل حالة نقل بدءًا من نظام التشغيل Android 9. |
Modem.controller.idle. | متوسّط استهلاك التيار (ملّي أمبير) لوحدة التحكّم في المودم في وضع السكون | - | |
modem.controller.rx | متوسط استهلاك التيار (ملّي أمبير) لوحدة التحكّم في المودم عند الاستلام | - | |
Modem.controller.tx. | متوسط استهلاك التيار (ملّي أمبير) لوحدة التحكّم في المودم عند الإرسال بمستويات مختلفة من طاقة التردد اللاسلكي هذا إدخال متعدد القيم يحتوي على قيمة واحدة لكل مستوى من مستويات طاقة الإرسال. | 100 مللي أمبير، و200 مللي أمبير، و300 مللي أمبير، و400 مللي أمبير، و500 مللي أمبير | |
Modem.controller.voltage. | متوسط الجهد الكهربي التشغيلي (mV) لوحدة التحكم في المودم. | - | |
wifi.controller.idle | متوسط استهلاك التيار (ملّي أمبير) لوحدة التحكّم في شبكة Wi-Fi في وضع السكون | - | هذه القيم غير تقديرية، ولكنها مأخوذة من ورقة البيانات الخاصة وحدة التحكم. إذا كانت هناك حالات متعددة للاستقبال أو الإرسال، يتم احتساب متوسط هذه الحالات. |
wifi.controller.rx | متوسط الرسم الحالي (mA) لوحدة تحكم Wi-Fi عند الاستلام. | - | |
wifi.controller.tx | متوسط الرسم الحالي (mA) لوحدة تحكم Wi-Fi عند الإرسال. | - | |
وحدة تحكّم Wi-Fi | متوسّط الجهد الكهربي التشغيلي (مللي فولت) لوحدة التحكّم في شبكة Wi-Fi | - | |
CPU.speeds | هذا الإدخال متعدد القيم يسرد كل سرعة وحدة معالجة مركزية محتملة بالكيلوهرتز. | 125,000 كيلوهرتز و250,000 كيلوهرتز و500,000 كيلوهرتز و1,000,000 كيلوهرتز و1,500,000 كيلوهرتز | يجب أن يتطابق عدد الإدخالات وترتيبها مع إدخالات mA في cpu.active. |
cpu.idle | إجمالي الطاقة التي يستهلكها النظام عندما تكون وحدات المعالجة المركزية (وشرائح المنظومة المتكاملة للشرائح الإلكترونية) في حالة تعليق النظام | 3 ملي أمبير | - |
cpu.awake | الطاقة الإضافية المستخدَمة عندما تكون وحدات المعالجة المركزية في حالة الخمول في جدولة المهام (حلقة الخمول في النواة)، والنظام ليس في حالة تعليق النظام | 50 مللي أمبير | يمكن أن تكون حالة عدم النشاط قيد الاستخدام في النظام الأساسي التي تستخدمها، وتختلف مستويات استهلاك الطاقة؛ اختر حالة تمثيلية لحالة عدم النشاط لفترة أطول فترات عدم نشاط أداة الجدولة (عدة مللي ثانية). راجِع الرسم البياني للطاقة على معدّات القياس واختَر عيّنات تُظهر أدنى استهلاك لوحدة المعالجة المركزية، مع تجاهل العيّنات الأعلى التي خرجت فيها وحدة المعالجة المركزية من وضع السكون. |
cpu.active | الطاقة الإضافية التي تستخدمها وحدات المعالجة المركزية عند التشغيل بسرعات مختلفة | 100 مللي أمبير و120 مللي أمبير و140 مللي أمبير و160 مللي أمبير و200 مللي أمبير | تمثّل القيمة الطاقة المستخدَمة من خطوط وحدة المعالجة المركزية عند التشغيل بسرعات مختلفة . ضبط الحد الأقصى للسرعة في النواة على كل من السرعات المسموح بها والدليل وحدة المعالجة المركزية بهذه السرعة. يتطابق عدد الإدخالات وترتيبها مع عدد الإدخالات وترتيبها في cpu.speeds. |
cpu.clusters.cores | عدد النوى التي تحتوي عليها كل مجموعة من وحدات المعالجة المركزية | 4، 2 | مطلوب فقط للأجهزة التي تتضمّن وحدة معالجة مركزية (CPU) غير متجانسة البُنى الأساسية. يجب أن يتطابق عدد الإدخالات والترتيب مع عدد إدخالات التجميع لكل من cpu.active وcpu.speeds. يمثّل الإدخال الأول عدد نوى وحدة المعالجة المركزية في المجموعة 0، ويمثّل الإدخال الثاني عدد نوى وحدة المعالجة المركزية في المجموعة 1، وهكذا. |
battery.capacity | السعة الإجمالية للبطارية بالمللي أمبير في الساعة | 3000 ملّي أمبير في الساعة | - |
عمليات البحث عن الطاقة المنخفضة الطاقة (LE) والبلوتوث
بالنسبة إلى الأجهزة التي تعمل بنظام التشغيل Android 7.0، يجمع النظام بيانات عمليات البحث في البلوتوث المنخفض الطاقة (LE) وعدد عمليات نقل البيانات على شبكة البلوتوث (مثل RFCOMM وL2CAP) ويربط هذه الأنشطة بالتطبيق الذي بدأ عملية البحث. ترتبط عمليات البحث في البلوتوث بالتطبيق الذي بدأ عملية البحث، ولكن لا ترتبط عمليات البحث المجمّعة (وتكون مرتبطة بدلاً من ذلك بتطبيق البلوتوث). بالنسبة إلى تطبيقٍ يُجري عملية مسح ضوئي لمدة N ملي ثانية، تبلغ تكلفة عملية المسح مدة N ملي ثانية لوقت الاستقبال ومدة N ملي ثانية لوقت الإرسال. ويتم تخصيص كل وقت وحدة التحكّم المتبقّي لملفه الشخصي أو حركة المرور على الشبكة أو تطبيق البلوتوث.