Android के लिए पावर प्रोफ़ाइल

बैटरी खर्च की जानकारी, बैटरी खर्च के आंकड़ों और पावर प्रोफ़ाइल की वैल्यू से मिलती है.

बैटरी खर्च के आंकड़े

यह फ़्रेमवर्क, डिवाइस के कॉम्पोनेंट के अलग-अलग स्टेटस में बिताए गए समय को ट्रैक करके, बैटरी के इस्तेमाल के आंकड़ों का पता अपने-आप लगाता है. जब कॉम्पोनेंट (वाई-फ़ाई चिपसेट, सेल्युलर रेडियो, ब्लूटूथ, जीपीएस, डिसप्ले, सीपीयू) की स्थिति (बंद/चालू, निष्क्रिय/पूरी पावर, कम/ज़्यादा चमक वगैरह) बदलती है, तो कंट्रोल करने वाली सेवा, फ़्रेमवर्क की BatteryStats सेवा को रिपोर्ट करती है. BatteryStats, समय के साथ जानकारी इकट्ठा करता है और उसे रीबूट के दौरान इस्तेमाल करने के लिए सेव करता है. यह सेवा, बैटरी के मौजूदा ड्रॉ को सीधे तौर पर ट्रैक नहीं करती. इसके बजाय, यह समय की जानकारी इकट्ठा करती है. इस जानकारी का इस्तेमाल, अलग-अलग कॉम्पोनेंट के हिसाब से बैटरी खपत का अनुमान लगाने के लिए किया जा सकता है.

फ़्रेमवर्क, इन तरीकों का इस्तेमाल करके आंकड़े इकट्ठा करता है:

  • पुश. कॉम्पोनेंट में हुए बदलावों के बारे में जानकारी रखने वाली सेवाएं, BatteryStats सेवा में स्टेटस में हुए बदलावों को पुश करती हैं.
  • पुल करें. ऐप्लिकेशन के सीपीयू के इस्तेमाल जैसे कॉम्पोनेंट के लिए, फ़्रेमवर्क अपने-आप ट्रांज़िशन पॉइंट (जैसे, किसी गतिविधि को शुरू या बंद करना) पर डेटा खींचता है, ताकि स्नैपशॉट लिया जा सके.

संसाधन का इस्तेमाल करने वाले ऐप्लिकेशन से, संसाधन की खपत जुड़ी होती है. जब एक से ज़्यादा ऐप्लिकेशन एक साथ किसी रिसॉर्स का इस्तेमाल करते हैं, तो फ़्रेमवर्क उस रिसॉर्स को उन ऐप्लिकेशन के बीच बांट देता है. हालांकि, यह ज़रूरी नहीं है कि वह रिसॉर्स सभी ऐप्लिकेशन के बीच बराबर बांटा जाए.

शटडाउन इवेंट के लिए इस्तेमाल के आंकड़े न खोने के लिए, फ़्रेमवर्क हर 30 मिनट में आंकड़े दिखाता है.इससे बैटरी खर्च से जुड़ी समस्याओं का पता चल सकता है. जैसे, बैटरी की क्षमता खत्म होने की वजह से शटडाउन होना.

बैटरी के इस्तेमाल के आंकड़े, पूरी तरह से फ़्रेमवर्क मैनेज करता है. इसके लिए, OEM के बदलावों की ज़रूरत नहीं होती.

पावर प्रोफ़ाइल की वैल्यू

चेतावनी: डिवाइस बनाने वाली कंपनियों को कॉम्पोनेंट की पावर प्रोफ़ाइल देनी होगी. इससे, कॉम्पोनेंट की मौजूदा खपत की वैल्यू और समय के साथ कॉम्पोनेंट की वजह से बैटरी के खत्म होने की अनुमानित दर का पता चलता है. इस प्रोफ़ाइल के बारे में जानकारी, platform/frameworks/base/core/res/res/xml/power_profile.xml में दी गई है. इन सेटिंग के बारे में दिशा-निर्देश पाने के लिए, पावर वैल्यू देखें.

पावर प्रोफ़ाइल में, बिजली की खपत को नाममात्र वोल्टेज पर मौजूदा ड्रॉ के मिलीऐंप (mA) में बताया जाता है. यह माइक्रोऐंप (uA) में बताई गई फ़्रैक्शनल वैल्यू हो सकती है. यह वैल्यू, बैटरी से खर्च होने वाले mA की होनी चाहिए, न कि पावर रेल पर लागू होने वाली वैल्यू, जो बैटरी से खर्च होने वाले करंट से मेल नहीं खाती.

उदाहरण के लिए, डिसप्ले की पावर प्रोफ़ाइल से पता चलता है कि डिसप्ले को कम से कम रोशनी और ज़्यादा से ज़्यादा रोशनी पर चालू रखने के लिए, कितने एमए की धारा की ज़रूरत होती है. डिसप्ले को चालू रखने पर खर्च होने वाली ऊर्जा (यानी डिसप्ले कॉम्पोनेंट की वजह से खर्च होने वाली बैटरी) का पता लगाने के लिए, फ़्रेमवर्क हर चमक के लेवल पर बिताए गए समय को ट्रैक करता है.इसके बाद, उन समयावधि को डिसप्ले की चमक के इंटरपोलेशन लागत से गुणा करता है.

फ़्रेमवर्क, हर ऐप्लिकेशन के लिए सीपीयू के समय को, किसी खास स्पीड पर सीपीयू को चलाने के लिए ज़रूरी mA से भी गुणा करता है. इस हिसाब से, सीपीयू कोड को चलाने पर, ऐप्लिकेशन कितनी बैटरी खर्च करता है, इसकी तुलनात्मक रैंकिंग तय की जाती है. फ़ोरग्राउंड ऐप्लिकेशन के तौर पर बिताया गया समय और बैकग्राउंड गतिविधि के साथ कुल समय की जानकारी अलग-अलग दी जाती है.