एंड्रॉइड ऐप द्वारा बैटरी की खपत की गणना कैसे करता है?


24

एंड्रॉइड व्यक्तिगत हार्डवेयर घटक द्वारा उपयोग की जाने वाली ऊर्जा को कैसे मापता है? एंड्रॉइड प्रत्येक व्यक्तिगत प्रक्रिया द्वारा उपयोग की जाने वाली ऊर्जा को कैसे मापता है?


मुझे लगता है कि 1 सेकंड में कितने निर्देश दिए जाते हैं।

6
@ ऑल्गो: यह एक पृष्ठभूमि एप्लिकेशन को ग्रहण करने के लिए पूरी तरह से भ्रामक होगा जो कि बहुत सारे सीपीयू का उपयोग करता है एक और एप्लिकेशन की तुलना में अधिक बैटरी की भूख है जो थोड़ा सीपीयू लेकिन बहुत सारे वाईफाई और जीपीएस और डिस्प्ले का उपयोग करता है।
रेयान

यदि ऐसा है तो आप उन अनुमतियों की संख्या से संकेत प्राप्त कर सकते हैं जो एक आवेदन का अधिग्रहण किया है .. बस एक विचार है।

बैटरी के आँकड़ों में @ लाइने, वाईफ़ाई, जीपीएस, ब्लूटूथ, आदि नहीं हैं, जो बैटरी के अपने "उपभोक्ता" के रूप में परिकलित हैं?
रयान कॉनरैड

जवाबों:


11

एंड्रॉइड घटनाओं को बैटरी के उपयोग को प्रभावित करता है और इस जानकारी को batterystats.bin फ़ाइल में संग्रहीत करता है। कुछ उदाहरण:

  • समय स्क्रीन की लंबाई एक विशिष्ट भंगुरता सेटिंग के साथ थी
  • कौन सा एप्लिकेशन (या गैर एंड्रॉइड ऐप प्रक्रिया) और कितनी देर तक एक वेक लॉक रखा (डिवाइस को नींद से रोकता है)
  • CPU प्रति प्रक्रिया (Android एप्लिकेशन या अन्य प्रक्रिया)
  • फोन सिग्नल की शक्ति
  • जीपीएस का उपयोग
  • आदि।

एंड्रॉइड गणना करता है कि निर्माता द्वारा डिवाइस पर शामिल कॉन्फ़िगरेशन जानकारी के आधार पर प्रत्येक एप्लिकेशन या घटक (उदाहरण के लिए स्क्रीन) कितनी शक्ति का उपयोग करता है।

सब कुछ नहीं मापा जाता है ताकि आंकड़े कभी-कभी भ्रामक हो सकें, लेकिन यह हर एंड्रॉइड प्लेटफ़ॉर्म रिलीज़ के साथ बेहतर हो जाता है।

बैटरी के आँकड़ों का उपयोग करके उपकरण से निकाला जा सकता है:

adb shell dumpsys batterystats

डायने हैकॉर्न द्वारा वेक लॉक बिजली की खपत के बारे में अधिक विवरण के साथ यहां एक पोस्ट का दिलचस्प अंश है :

वेक लॉक से दो तरह से बिजली की गणना की जाती है।

  1. कुछ चिपसेट पर, बस एक वेक लॉक को रखने से सीपीयू को पूर्ण गहरी नींद में जाने से रोकने की आवश्यकता होती है। रिपोर्ट किए गए बैटरी उपयोग में, इस अतिरिक्त बिजली के उपयोग को वेक लॉक रखने वाले सभी ऐप्स में वितरित किया जाएगा।

  2. यहां तक ​​कि अगर वेक लॉक अपने आप में बिजली के उपयोग का कारण नहीं बनता है, तो एक ऐप में वेक लॉक रखने से अन्य एप्लिकेशन चलाने और सीपीयू की अनुमति मिल सकती है जब वे अन्यथा नहीं होंगे। (उदाहरण के लिए, कुछ ऐप में {स्लीप (1); कुछ हो सकता है?} लूप है जो कोई वेक लॉक नहीं होने पर नहीं चलेगा।) इसे संबोधित करने के लिए, अनुप्रयोगों के CPU उपयोग के आधे को दोष देने के लिए वितरित किया जाता है। वेक लॉक रखने वाले।


क्या आप ऐसे स्रोत / संदर्भ प्रदान कर सकते हैं जो आपके उत्तर का प्रमाण दें?
दीमदीप

सभी जानकारी इस क्षेत्र से परिचित Google डेवलपर द्वारा Google + थ्रेड के लिए दिए गए लिंक से है।
पावेल नाडोलस्की

1
नए उपकरणों के लिए सही कमांड (यह निश्चित नहीं है कि एपीआई) कहां से होना चाहिए: एडीबी शेल डंपिस्ट बैटरस्टैट्स, या (यदि आप किसी फ़ाइल के अंदर चाहते हैं तो): एडब शेल डंप्स बैटरिस्ट्स> बल्लेबाजस्टैट्स.टेक्स्ट
एंड्रॉइड डेवलपर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.