बैटरी उपयोग की जानकारी बैटरी उपयोग आँकड़ों और पावर प्रोफ़ाइल मूल्यों से प्राप्त होती है।
बैटरी उपयोग के आँकड़े
फ़्रेमवर्क स्वचालित रूप से बैटरी उपयोग के आँकड़े निर्धारित करता है, यह ट्रैक करके कि डिवाइस घटक विभिन्न राज्यों में कितना समय व्यतीत करते हैं। जैसे ही घटक (वाई-फाई चिपसेट, सेल्युलर रेडियो, ब्लूटूथ, जीपीएस, डिस्प्ले, सीपीयू) स्थिति बदलते हैं (बंद/चालू, निष्क्रिय/पूर्ण पावर, कम/उच्च चमक, आदि), नियंत्रण सेवा फ्रेमवर्क बैटरीस्टैट्स सेवा को रिपोर्ट करती है। बैटरीस्टैट्स समय के साथ जानकारी एकत्र करता है और इसे रिबूट में उपयोग के लिए संग्रहीत करता है। सेवा सीधे बैटरी करंट ड्रॉ को ट्रैक नहीं करती है, बल्कि समय की जानकारी एकत्र करती है जिसका उपयोग विभिन्न घटकों द्वारा बैटरी की खपत का अनुमान लगाने के लिए किया जा सकता है।
यह ढाँचा निम्नलिखित विधियों का उपयोग करके आँकड़े एकत्र करता है:
- धकेलना । घटक परिवर्तनों से अवगत सेवाएँ बैटरीस्टैट्स सेवा में स्थिति परिवर्तन को आगे बढ़ाती हैं।
- खींचो । ऐप्स द्वारा उपयोग किए जाने वाले सीपीयू जैसे घटकों के लिए, स्नैपशॉट लेने के लिए फ्रेमवर्क स्वचालित रूप से संक्रमण बिंदुओं (जैसे किसी गतिविधि को शुरू करना या रोकना) पर डेटा खींचता है।
संसाधन की खपत संसाधन का उपयोग करने वाले एप्लिकेशन से जुड़ी है। जब कई एप्लिकेशन एक साथ किसी संसाधन का उपयोग करते हैं (जैसे वेकलॉक जो सिस्टम को निलंबित होने से रोकते हैं), तो फ्रेमवर्क उन अनुप्रयोगों में खपत फैलाता है, हालांकि जरूरी नहीं कि समान रूप से।
शटडाउन घटना के लिए उपयोग के आंकड़े खोने से बचने के लिए, जो बैटरी बिजली की खपत की समस्याओं का संकेत दे सकता है (यानी शटडाउन इसलिए होता है क्योंकि बैटरी शून्य शेष क्षमता तक पहुंच गई है), फ्रेमवर्क लगभग हर 30 मिनट में आंकड़े फ्लैश करता है।
बैटरी उपयोग के आँकड़े पूरी तरह से फ्रेमवर्क द्वारा नियंत्रित किए जाते हैं और इसके लिए OEM संशोधनों की आवश्यकता नहीं होती है।
पावर प्रोफ़ाइल मान
सावधानी: डिवाइस निर्माताओं को एक घटक पावर प्रोफ़ाइल प्रदान करनी होगी जो घटक के लिए वर्तमान खपत मूल्य और समय के साथ घटक के कारण होने वाली अनुमानित बैटरी खपत को परिभाषित करती है। यह प्रोफ़ाइल platform/frameworks/base/core/res/res/xml/power_profile.xml में परिभाषित है। इन सेटिंग्स पर मार्गदर्शन के लिए, पावर वैल्यू देखें।
पावर प्रोफाइल के भीतर, बिजली की खपत नाममात्र वोल्टेज पर वर्तमान ड्रॉ के मिलिअम्प्स (एमए) में निर्दिष्ट होती है और माइक्रोएम्प्स (यूए) में निर्दिष्ट एक आंशिक मान हो सकती है। यह मान बैटरी पर खपत की गई mA होनी चाहिए, न कि पावर रेल पर लागू होने वाला मान जो बैटरी से खपत की गई धारा के अनुरूप नहीं है।
उदाहरण के लिए, एक डिस्प्ले पावर प्रोफ़ाइल न्यूनतम चमक और अधिकतम चमक पर डिस्प्ले को चालू रखने के लिए आवश्यक करंट का mA निर्दिष्ट करती है। डिस्प्ले को चालू रखने के लिए बिजली की लागत (यानी डिस्प्ले घटक द्वारा खर्च की गई बैटरी) निर्धारित करने के लिए, फ्रेमवर्क प्रत्येक चमक स्तर पर बिताए गए समय को ट्रैक करता है, फिर उस समय अंतराल को इंटरपोलेटेड डिस्प्ले चमक लागत से गुणा करता है।
फ्रेमवर्क सीपीयू को एक विशिष्ट गति से चलाने के लिए आवश्यक एमए द्वारा प्रत्येक एप्लिकेशन के लिए सीपीयू समय को भी गुणा करता है। यह गणना सीपीयू कोड निष्पादित करके एक एप्लिकेशन कितनी बैटरी की खपत करती है, इसकी तुलनात्मक रैंकिंग स्थापित करती है (अग्रभूमि ऐप के रूप में समय और पृष्ठभूमि गतिविधि सहित कुल समय अलग से रिपोर्ट किया जाता है)।