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