स्मार्टवॉच की होम स्क्रीन के लिए, मेमोरी के इस्तेमाल को ऑप्टिमाइज़ करें

Wear OS डिवाइसों की बैटरी लाइफ़ बेहतर बनाने के लिए, सिस्टम मेमोरी के इस्तेमाल का हिसाब लगाता है. Wear OS ऐप्लिकेशन की क्वालिटी के हिस्से के तौर पर दिशा-निर्देशों के हिसाब से, Watch Face Format का इस्तेमाल करने वाली स्मार्टवॉच की होम स्क्रीन, स्मार्टवॉच की मौजूदा स्थिति के आधार पर, वे मेमोरी का कितना इस्तेमाल कर सकते हैं:

  • ऐंबियंट मोड में, स्मार्टवॉच की होम स्क्रीन पर 10 एमबी से ज़्यादा डेटा इस्तेमाल नहीं किया जा सकता मेमोरी.
  • इंटरैक्टिव मोड में, स्मार्टवॉच की होम स्क्रीन पर 100 एमबी से ज़्यादा कॉन्टेंट नहीं देखा जा सकता मेमोरी.

सिस्टम, स्मार्टवॉच की होम स्क्रीन के इस्तेमाल से जुड़ी मेमोरी का हिसाब लगाता है

स्मार्टवॉच की होम स्क्रीन में किसी इमेज या बिटमैप फ़ॉन्ट का इस्तेमाल करके लिए गए साइज़ का पता लगाने के लिए Watch Face Format का इस्तेमाल करता है, तो सिस्टम ये चरण पूरे करता है:

  1. इमेज या बिट मैप के फ़ॉन्ट को डीकंप्रेस करता है.
  2. इमेज या बिटमैप के फ़ॉन्ट की जांच करके पता लगाता है कि इसे इनमें से किसी एक में ऑप्टिमाइज़ किया जा सकता है या नहीं नीचे दिए गए तरीकों से:
    • डिसप्ले साइज़ के हिसाब से साइज़ बदला गया.
    • पूरी तरह से पारदर्शी पिक्सल हटाने के लिए काटा गया.
    • डेटा को RGB565 में डाउनसैंपल किया जाएगा. इससे फ़र्क़ नहीं पड़ेगा कि इसे बिना किसी शुल्क के इस्तेमाल किया जा सकता है फ़िडेलिटी में कमी.

इससे मिलने वाले बाउंडिंग बॉक्स के आधार पर, सिस्टम इमेज के साइज़ का पता लगाता है या बिट मैप फ़ॉन्ट को बाइट में देखें, जैसा कि इनमें से एक है:

  • RGBA8888 का इस्तेमाल करने वाली इमेज और फ़ॉन्ट के लिए: \( 4 \times width \times height \)
  • RGB565 का इस्तेमाल करने वाली इमेज और फ़ॉन्ट के लिए: \( 2 \times width \times height \)
  • ALPHA_8 बिटमैप कॉन्फ़िगरेशन का उपयोग करने वाली छवियों और फ़ॉन्ट के लिए: \( width \times height \)

इंटरैक्टिव मोड

इंटरैक्टिव मोड के लिए मेमोरी के इस्तेमाल का हिसाब लगाते समय, सिस्टम का योग:

  1. किसी भी वेक्टर फ़ॉन्ट का प्रोसेस न किया गया साइज़.
  2. सिस्टम के डिफ़ॉल्ट फ़ॉन्ट का अनुमानित इस्तेमाल.
  3. किसी भी तरह की क्रॉपिंग, साइज़, या रीफ़ॉर्मैटिंग का इस्तेमाल किया गया है.

कॉन्फ़िगरेशन

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

ऐंबियंट मोड और लेयर

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

  1. स्मार्टवॉच के एलिमेंट के नीचे मौजूद सब कुछ. ज़्यादातर होम स्क्रीन पर "मुख्य हिस्सा" दिखता है इससे मेल खाता है इस लेयर में कंपोज़िट किया गया है. इससे कोई फ़र्क़ नहीं पड़ता कि कितनी इमेज का इस्तेमाल किया गया है इस लेयर को बनाएं; तो सिस्टम इसे एक फ़ुल-स्क्रीन इमेज के तौर पर गिनता है.
  2. प्लैटफ़ॉर्म बाइंडिंग से स्मार्टवॉच पर चलने वाली किसी भी तरह की स्क्रीन, डिजिटल डिसप्ले या Android घड़ी के विजेट जिन्हें डाइनैमिक तरीके से रेंडर किया जाता है.
  3. वे सभी एलिमेंट जो स्मार्टवॉच की हैंड्स और Android घड़ी के विजेट के बाद जोड़े गए हैं सोर्स एक्सएमएल फ़ाइल.

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

मेमोरी के इस्तेमाल को कम करने के तरीके

इस अनुभाग में दिए गए सुझावों का पालन करने पर, आपके द्वारा कोई स्मार्टवॉच की होम स्क्रीन, जिसकी मेमोरी की खपत इन सीमाओं के अंदर रहती है.

बिटमैप फ़ॉन्ट को काटें और उनका साइज़ बदलें

अपनी इमेज और BitmapFont ऑब्जेक्ट को काटें. इसके बाद, इमेज और ऑब्जेक्ट से मेल खाने के लिए उनका साइज़ बदलें डिसप्ले साइज़.

जब Wear OS किसी स्मार्टवॉच की होम स्क्रीन बनाता है, तब सभी इमेज डीकंप्रेस की जाती हैं. फ़ुल-स्क्रीन जो इमेज ज्यादा खाली है, वह डिस्क पर 3 केबी की जगह ले सकती है. हालांकि, अगर इमेज दिखाई जाती है, तो 450-पिक्सल x 450 पिक्सल की स्क्रीन पर, सिस्टम इमेज को डीकंप्रेस कर देता है. मेमोरी में इमेज का साइज़ 750 केबी या इससे ज़्यादा होना चाहिए.

एक समान बिटमैप फ़ॉन्ट ऊंचाई का इस्तेमाल करें

BitmapFont का इस्तेमाल करते समय, किसी वर्ण के लिए सभी इमेज एक जैसी होनी चाहिए ऊंचाई. इसी तरह, शब्दों के लिए सभी इमेज की लंबाई एक ही होनी चाहिए.

ऐनिमेशन में एक जैसे फ़्रेम साइज़ का इस्तेमाल करना

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

यह तकनीक बाउंडिंग बॉक्स का साइज़ कम कर देती है, जिसे सिस्टम कैलकुलेट करता है क्लिक करें.

डुप्लीकेट इमेज हटाना

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

चाप का इस्तेमाल करके प्रगति दिखाएं

एक मिनट के बाद या एक घंटे बाद पूरा होने वाले प्रोग्रेस बार को एम्युलेट करने के लिए, यह न करें 60 अलग-अलग इमेज का इस्तेमाल करें. इसके बजाय, एक Arc ऑब्जेक्ट बनाएं, जिसमें एक्सप्रेशन अपनी लंबाई को नियंत्रित करता है, जैसा कि नीचे दिए गए कोड स्निपेट में दिखाया गया है:

<PartDraw angle="0" width="400" height="400" name="ProgressBar"
          pivotX="0.5" pivotY="0.5 x="40" y="40">
    <Arc centerX="200" centerY="200" width="400" height="400"
         startAngle="0" endAngle="360">
        <!-- Completes a "progress loop" every minute. -->
        <Transform target="endAngle"
                   value="0 + (clamp([SECOND], 0, 60) - 0) * 6" />
        <Stroke cap="ROUND" color="#123456" thickness="10" />
    </Arc>
</PartDraw>

ऐसी लाइन दिखाना जो लगातार नहीं है. उदाहरण के लिए, पुराने ज़माने की डिजिटल वॉच बनाना स्टाइल लुक का इस्तेमाल किया जा रहा है, Stroke ऑब्जेक्ट के लिए डैश प्रॉपर्टी का इस्तेमाल करें या अर्द्ध-पारदर्शी मास्क चित्र ओवरले.

सोर्स फ़ाइल के आखिर में, स्मार्टवॉच की हैंड्स और Android घड़ी के विजेट जोड़ें

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

स्मार्टवॉच की होम स्क्रीन के इस्तेमाल से जुड़ी मेमोरी का आकलन करना

अपनी स्मार्टवॉच की होम स्क्रीन की मेमोरी के इस्तेमाल को मापने के लिए, मेमोरी फ़ुटप्रिंट का इस्तेमाल करें आकलन करने वाला टूल, GitHub पर watchface डेटा स्टोर करने की जगह में उपलब्ध है.