पावर और बैटरी बचाएं

Wear OS पर बैटरी की बचत करना खास तौर पर ज़रूरी है. Wear OS डिज़ाइन सिद्धांतों के तहत, डिवाइस की बैटरी के इस्तेमाल पर काफ़ी ध्यान दिया जाता है. ऐसा इसलिए, क्योंकि स्मार्टवॉच यह एक छोटा सा फ़ॉर्म-फ़ैक्टर है, जो कम समय में होने वाली बातचीत के लिए बनाया गया है.

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

अपने ऐप्लिकेशन की बिजली की बचत करने के लिए, डिज़ाइन के ये सबसे सही तरीके अपनाएं:

  • आपके ऐप्लिकेशन का डिज़ाइन, Wear OS के डिवाइस के नाप या आकार के हिसाब से सही होना चाहिए. यह सीधे आपके मोबाइल ऐप्लिकेशन को कॉपी नहीं करना चाहिए.
  • इस्तेमाल के कुछ खास उदाहरणों में मदद पाने के लिए, अपने मौजूदा मोबाइल ऐप्लिकेशन का इस्तेमाल करें. उदाहरण के लिए, पर इंटरनेट और सिंक करना महंगा है; इस बात पर विचार करें कि यह मुश्किल काम मोबाइल डिवाइस कर सकता है और Wear OS डिवाइस को डेटा में बदलाव करते हैं.
  • छोटे इंटरैक्शन के लिए अपने इस्तेमाल के उदाहरण डिज़ाइन करें.
  • देखें कि कौनसे Wear OS इवेंट इस्तेमाल किए जा रहे हैं और ये इवेंट कितनी बार इस्तेमाल किए जा रहे हैं होता है.
  • जब भी हो सके, अपने ऐप्लिकेशन का काम तब तक टालें, जब तक स्मार्टवॉच के चार्ज होने की प्रोसेस न हो जाए. यह खास तौर पर उन कामों पर लागू होता है जिनमें बहुत ज़्यादा डेटा खर्च होता है. जैसे, डेटा सिंक करना और डेटाबेस तैयार करने में मदद मिलती है.

    अगर डिवाइस चार्ज हो रहा है और उसमें वाई-फ़ाई कनेक्शन है, तो जॉब को इस पर शेड्यूल करें वह डेटा, इमेज, और अपडेट प्रीफ़ेच करें जिन्हें उपयोगकर्ता आपके विज्ञापन में देखना चाहता है है.

इस पावर गाइड से आपको यह समझने में मदद मिलती है कि सिस्टम आपके ऐप्लिकेशन को कब और कैसे चलाता है, और अपने ऐप्लिकेशन के रनटाइम और बैटरी के तेज़ी से खर्च होने को कैसे सीमित किया जा सकता है. जानें कि कैसे कुछ कार्रवाइयां की जाती हैं. जैसे, कोई ऐप्लिकेशन लोड करना या सूची—परफ़ॉर्मेंस से जुड़े दिशा-निर्देश देखें. जैसे, Wear OS पर लिखें परफ़ॉर्मेंस गाइड पढ़ें.

समय-समय पर बैटरी खर्च को मॉनिटर करें

आपका ऐप्लिकेशन चलाने वाले Wear OS डिवाइस की बैटरी से जुड़े आंकड़ों का विश्लेषण करने के लिए, अपनी डेवलपमेंट मशीन पर टर्मिनल विंडो में यह कमांड डालें:

adb shell dumpsys batterystats

GitHub पर एक लाइब्रेरी में बैटरी के आंकड़ों का पार्सर दिया गया है, जो इस आदेश के साथ चलाना उपयोगी हो सकता है.

बैटरी लाइफ़ पर असर डालने वाले इवेंट

खास तौर पर अपने ऐप्लिकेशन के बारे में सोचने से पहले, सामान्य तौर पर जानना ज़रूरी है उन इवेंट के बारे में जानकारी जो Wear OS डिवाइस पर बिजली की खपत करते हैं.

नीचे दी गई टेबल अलग-अलग डिवाइसों की बैटरी लाइफ़ पर होने वाले असर को दिखाती है Wear OS ऐप्लिकेशन में सामान्य इवेंट. तेज़ी से बैटरी खर्च होने की दर, डिवाइसों के हिसाब से अलग-अलग होती है.

इवेंट बैटरी लाइफ़ पर असर कम करने का तरीका
LTE और वाई-फ़ाई सहित नेटवर्क ऐक्सेस करें बहुत ज़्यादा डिवाइस के चार्ज होने तक, ग़ैर-ज़रूरी नेटवर्क का ऐक्सेस रोकें.
स्क्रीन चालू करके इंटरैक्टिव मोड शुरू करें ज़्यादा उपयोगकर्ता को स्क्रीन को इससे ज़्यादा देर तक चालू रखने के लिए बढ़ावा न दें ज़रूरी है. ऐसा अनुभव उपलब्ध कराएं जिसमें हमेशा चालू मोड, जिसे ऐंबियंट मोड भी कहा जाता है.
जीपीएस सेंसर को ऐक्सेस करें ज़्यादा यदि संभव हो, तो उपयोगकर्ता के GPS एक्सेस का अनुरोध करने तक इंतज़ार करें.
सीपीयू (CPU) का इस्तेमाल ज़्यादा रखें ज़्यादा इस्तेमाल करें फ़्लो के लिए, Jetpack Compose का इस्तेमाल करें.
धड़कन की दर का पता लगाने वाला सेंसर ऐक्सेस करें सामान्य जगह पर प्रोसेसर के 'वेक टाइम' का इस्तेमाल तब करें, जब सेंसर एपीआई से कॉलबैक पाना, जैसे कि स्वास्थ्य सेवाएं चालू हैं Wear OS.
ब्लूटूथ का इस्तेमाल करके दूसरे डिवाइस को ऐक्सेस करना सामान्य जगह पर सेशन को छोटा रखें.
वेकलॉक को पकड़कर रखें सामान्य जगह पर वेकलॉक को मैन्युअल तरीके से बनाने की सुविधा को कम करें और इसके इस्तेमाल को कम करें WorkManager.

स्क्रीन चालू रहने के समय को कम से कम करें

Wear OS ऐप्लिकेशन में, स्क्रीन इस्तेमाल करने के इन सिद्धांतों का पालन करें:

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

    • इस सेटिंग से डिवाइस की स्क्रीन पर, रोशनी कम हो जाती है.
    • ऐनिमेशन नहीं दिखाता.
    • स्क्रीन का कॉन्टेंट अपडेट नहीं करता. ऐसा सिर्फ़ onAmbientUpdate() कॉलबैक.

सीपीयू के इस्तेमाल को कम से कम करें

Wear OS ऐप्लिकेशन में, सीपीयू के इस्तेमाल से जुड़े इन सिद्धांतों का पालन करें:

  • इस्तेमाल को कम रखें.
  • अपने ऐप्लिकेशन की प्रोसेस में लगने वाले समय का ज़्यादा से ज़्यादा फ़ायदा पाने के लिए, इससे जुड़ी किसी भी कार्रवाई को बैच करें निष्क्रिय है.

वेकलॉक को कम से कम करें

ज़्यादातर मामलों में, ऐसी कार्रवाइयों से बचें जो आपके ऐप्लिकेशन को स्लीप मोड (कम बैटरी मोड) से रोकती हैं, जैसे वेकलॉक की तरह. उदाहरण के लिए, स्वास्थ्य और फ़िटनेस ऐप्लिकेशन, लंबे समय तक चलने वाली कसरतें उसे वेकलॉक की ज़रूरत नहीं है. कॉलबैक हासिल करते समय, प्रोसेसर के वेक टाइम का इस्तेमाल करें सेंसर एपीआई से मिली जानकारी के मुताबिक, जैसे कि Wear OS पर स्वास्थ्य सेवाओं का इस्तेमाल करते समय.

कुछ मामलों में, वेकलॉक हासिल करना ठीक होता है. उदाहरण के लिए, जब आपके ऐप्लिकेशन इनमें से कोई एक काम करता है:

  • बैकग्राउंड में मीडिया चलाता है.
  • WorkManager या JobScheduler का इस्तेमाल करता है. (सिस्टम में बैकग्राउंड में काम करते समय आपकी ओर से वेकलॉक.)

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

  • अचानक से वेकलॉक देखें.
  • अगर अवधि उम्मीद से ज़्यादा है, तो देखें कि काम कुछ डिपेंडेंसी की वजह से ब्लॉक किया गया, जैसे कि नेटवर्क की उपलब्धता.

देखें कि आपका ऐप्लिकेशन कैसे इनऐक्टिव हो जाता है

यह सोचें कि डिवाइस से जुड़े मुख्य इवेंट होने पर, इस्तेमाल किया जा रहा ऐप्लिकेशन क्या कर रहा है. जैसे, फ़ॉलो किया जा रहा है:

  • इससे स्क्रीन बंद हो जाती है और डिवाइस ऐंबियंट मोड में चला जाता है.
  • ऐप्लिकेशन को स्वाइप करना खारिज कर दिया गया है.

ऐप्लिकेशन में की गई गतिविधि का विश्लेषण करने के लिए, नीचे दिए गए टूल इस्तेमाल करें.

एनर्जी प्रोफ़ाइलर

Android Studio के मेन्यू में जाकर, एनर्जी प्रोफ़ाइलर को ऐक्सेस किया जा सकता है. इसके लिए, देखें > टूल की विंडो > प्रोफ़ाइलर:

  1. स्क्रीन बंद होने और डिवाइस के अंदर आने पर, सिस्टम ट्रेस की जांच करें आस-पास की आवाज़ सुनाने वाला मोड.
  2. डिवाइस के सीपीयू के इस्तेमाल के लेवल के साथ-साथ चल रहे काम को भी देखें.

परफ़ेटो

Perfetto की मदद से आप ट्रेस रिकॉर्ड कर सकते हैं. इसके बाद, अपने ऐप्लिकेशन की जांच करके देख सकते हैं कि क्या क्या कोई थ्रेड, डिवाइस पर कोई काम कर रहा है जब स्क्रीन बंद हो जाती है ऐंबियंट मोड में जाता है या उपयोगकर्ता आपके ऐप्लिकेशन की गतिविधि को खारिज करता है.

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

अपने ऐप्लिकेशन में शेड्यूल की गई जॉब का विश्लेषण करें

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

शेड्यूल की गई जॉब की प्रोग्रेस की जांच करने के लिए, बैटरी हिस्टॉरियन का इस्तेमाल करें. ये दोनों प्रोसेस, कुल (सिस्टम के आंकड़े > जॉबशेड्यूलर के आंकड़े) और ऐप्लिकेशन के हिसाब से (ऐप्लिकेशन के आंकड़े > शेड्यूल किया गया जॉब). कुल संख्या और कुल समय देखें:

  • अगर कोई काम बार-बार किया जाता है, तो इसकी फ़्रीक्वेंसी कम करें.
  • देखें कि एक्ज़ीक्यूशन का कुल समय आपकी उम्मीद के मुताबिक है या नहीं लंबे समय तक काम करता है.

साथ ही, बैटरी हिस्टॉरियन ग्राफ़ को देखें, जिसमें हर jobScheduler को एंट्री. किसी एंट्री पर पॉइंटर को दबाकर रखने पर, बैटरी हिस्टोरियन लागू किए जा रहे जॉब के मालिक की जानकारी दिखाता है. इसके लिए, इन्हें आज़माएं:

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

सेंसर

Wear OS डिवाइसों में कई अलग-अलग सेंसर होते हैं, जैसे कि जीपीएस. ज़्यादातर मामलों में, ऐप्लिकेशन से सीधे इंटरैक्ट करने के बजाय, Wear OS पर स्वास्थ्य सेवाएं SensorManager. कई मामलों में, Health Services स्मार्ट तरीके से डेटा को बैटरी की परफ़ॉर्मेंस को बेहतर किया जा सकता है.

अपने ऐप्लिकेशन में सेंसर के इस्तेमाल का विश्लेषण करने के लिए, टर्मिनल में यहां दिया गया कमांड चलाएं विंडो पर क्लिक करें:

adb shell dumpsys sensorservice

इस निर्देश के नतीजों में ये दिखते हैं:

  • मौजूदा और पिछले सेंसर रजिस्ट्रेशन.
  • सेंसर कॉन्फ़िगरेशन, अगर सेट हो, तो बैच करने की सुविधा भी शामिल है.
  • हाल ही में सैंपल किया गया डेटा.

सेंसर से रजिस्ट्रेशन रद्द किए जाने की जांच करें

यह देखने के लिए कि आपका ऐप्लिकेशन उम्मीद के मुताबिक सेंसर डेटा फ़ेच करना बंद कर देता है या नहीं, इन स्थितियों में ऐसा हो सकता है:

  1. अपने ऐप्लिकेशन को स्वाइप करके खारिज करें.
  2. स्क्रीन पर अपनी हथेली से टैप करें. इससे स्क्रीन बंद हो जाती है या स्क्रीन को ऐंबियंट मोड में रखता है.

पिछले सेक्शन में दिए गए ADB कमांड का इस्तेमाल करके, यह पता लगाएं कि सेंसर रजिस्टर नहीं किए गए के तौर पर सही तरीके से दिखता है.

डेटा लेयर

डेटा लेयर एपीआई का इस्तेमाल करते समय, हर ट्रांसमिशन कुछ पावर का इस्तेमाल करता है. तय सीमा में खास तौर पर, अगर डेटा भेजने के लिए इस एपीआई का इस्तेमाल किया जाता है, तो डेटा पाने के लिए आपके ऐप्लिकेशन की स्क्रीन चालू होनी चाहिए के लिए इस्तेमाल किया जा सकता है. इन वजहों से, इस एपीआई का इस्तेमाल करते समय सावधानी बरतें.

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

  • इनका इस्तेमाल करके, लिसनर सेट अप करने से पहले अपने ऐप्लिकेशन के चालू होने का इंतज़ार करें WearableListenerService.
  • तेज़ी से होने वाले अपडेट को कॉन्फ़िगर करने के बजाय, ट्रांसमिट करने की स्थिति में बदलाव किया जा सकता है. ये राज्य बदलावों से Wear OS डिवाइस को लोकल डेटा का हिसाब लगाने में मदद मिलती है. जैसे, ने एक वर्कआउट सेशन शुरू किया.

    सिर्फ़ उन स्टेट बदलावों को ट्रांसमिट करें जो आपके यूज़र इंटरफ़ेस (यूआई) को अपडेट करते हैं. उदाहरण के लिए, अगर आपके गतिविधि स्क्रीन पर सिर्फ़ "किलोमीटर चलाया गया" दिखता है एक दशमलव स्थान पर, न भेजें जब भी उपयोगकर्ता दूसरे मीटर मूव करता है, तो Wear OS में स्टेटस बदल जाता है आगे.

अपने ऐप्लिकेशन में डेटा लेयर एपीआई के इस्तेमाल का विश्लेषण करने के लिए, नीचे दिए गए निर्देश को आपकी डेवलपमेंट मशीन पर टर्मिनल विंडो:

adb shell dumpsys activity service WearableService

इस निर्देश के नतीजों में ये चीज़ें शामिल होती हैं:

  • RpcService: इससे आपको यह देखने की सुविधा मिलती है कि कितनी बार और कौनसे पाथ MessageClient का इस्तेमाल करके कॉल किया गया.
  • DataService: इससे आपको यह देखने की सुविधा मिलती है कि डेटा आइटम को कितनी बार सेट किया जा रहा है DataClient.

सेहत और फ़िटनेस वाले ऐप

अगर आपके पास सेहत और फ़िटनेस से जुड़ा कोई ऐप्लिकेशन है, तो उसे ऑप्टिमाइज़ करने के लिए स्वास्थ्य सेवाओं का इस्तेमाल करें आपके ऐप्लिकेशन के सेंसर का इस्तेमाल.

टाइल और Android घड़ी के विजेट

अगर आपके ऐप्लिकेशन में टाइल या Android घड़ी के विजेट काम करते हैं, तो ये सबसे सही तरीके अपनाएं तरीके:

  • अपने-आप रीफ़्रेश होने की सुविधा को बंद करें या रीफ़्रेश दर को दो घंटे तक बढ़ाएं या लंबा.
  • Firebase क्लाउड से मैसेज (FCM) या सही तरीके से शेड्यूल किए गए इवेंट का इस्तेमाल करें जॉब का इस्तेमाल करें. तेज़ी से अपडेट होने से रोकने के लिए ध्यान रखें, इसकी वजह से, सिस्टम दोहराए जाने वाले काम को इससे कम समय में शेड्यूल कर सकता है उपयोगकर्ता या प्लैटफ़ॉर्म उस काम के लिए ज़रूरी डेटा को ऐक्सेस कर सकता है.
  • जब उपयोगकर्ता उपलब्ध न हो, तो टाइल या Android घड़ी के विजेट के लिए, काम शेड्यूल न करें उससे कैसे इंटरैक्ट करते हैं.
  • ऑफ़लाइन तरीके से काम करने के तरीके इस्तेमाल करें.
  • अपने मुख्य ऐप्लिकेशन, टाइल, और Android घड़ी के विजेट के लिए, एक ही डेटाबेस शेयर करें. यह साथ ही, पूरे यूज़र इंटरफ़ेस (यूआई) प्लैटफ़ॉर्म पर डेटा को एक जैसा बनाए रखने में मदद करता है.