تحسِّن Wear OS عمر البطارية من خلال تتبُّع استخدام الذاكرة. تتضمّن خلفيات شاشة الساعة التي تستخدم تنسيق خلفية شاشة الساعة حدودًا للذاكرة، وذلك وفقًا لإرشادات جودة تطبيقات Wear OS:
- "وضع الإضاءة السينمائية": الحد الأقصى لاستخدام الذاكرة هو 10 ميغابايت.
- وضع التفاعل: الحدّ الأقصى لاستخدام الذاكرة هو 100 ميغابايت.
احتساب استخدام الذاكرة
لاحتساب مقدار الذاكرة المستخدَمة لصورة أو خط نقطي في خلفية شاشة باستخدام تنسيق خلفية الشاشة، ينفّذ النظام ما يلي:
- فك ضغط الصورة أو الخط.
- تحقَّق مما إذا كانت عمليات التحسين التالية تنطبق:
- تغيير الحجم ليتناسب بشكل أفضل مع الشاشة
- اقتصاص وحدات البكسل الشفافة
- تقليل عدد العيّنات إلى RGB565 بدون فقدان الدقة
استنادًا إلى مربّع الحدود الناتج، يتم احتساب الحجم على النحو التالي:
- بالنسبة إلى الصور والخطوط التي تستخدم RGBA8888: 4 × العرض × الارتفاع
- بالنسبة إلى الصور والخطوط التي تستخدم RGB565: 2 × العرض × الارتفاع
- بالنسبة إلى الصور والخطوط التي تستخدم إعدادات ALPHA_8 لصور نقطية: العرض × الارتفاع
وضع التفاعل
لحساب استخدام الذاكرة في "وضع التفاعل"، يجمع النظام القيم التالية:
- الحجم غير المعالَج لأي خطوط متجهة
- الاستخدام المقدَّر للخط التلقائي للنظام
- الحجم الإجمالي للصور وخطوط الصور النقطية بعد تطبيق الاقتصاص وتغيير الحجم وإعادة التنسيق
الإعدادات
بالنسبة إلى خلفيات شاشة الساعة التي تتضمّن إعدادات، يحاول النظام احتساب الحجم الإجمالي لموارد خلفية شاشة الساعة في مختلف الإعدادات. إذا كان عدد المجموعات كبيرًا جدًا، قد يبالغ النظام في تقدير عدد الموارد المستخدَمة في الوقت نفسه.
وضع الإضاءة السينمائية والطبقات
يفترض النظام أنّ "الوضع المحيط" يستخدم ما يصل إلى ثلاث طبقات بملء الشاشة، اثنتان منها ثابتتان. تشمل الطبقات ما يلي:
- خلفية شاشة الساعة ويتعامل النظام مع هذا كصورة واحدة، بغض النظر عن عدد الصور التي تتضمّنها الخلفية.
- الأجزاء المتحركة، مثل الأيدي أو شاشات العرض الرقمية أو العناصر الديناميكية
- العناصر المتبقية من ملف XML المصدر
غالبًا ما تستخدم خطوط الصور النقطية الكبيرة أكبر قدر من الذاكرة في "الوضع المحيط".
طُرق تقليل استخدام الذاكرة
استخدِم عمليات التحسين التالية لتقليل استخدام الذاكرة.
اقتصاص خطوط الصور النقطية وتغيير حجمها
اقطع صورك وBitmapFont لتلائم حجم العرض.
تعرض Wear OS خلفيات شاشة الساعة مع جميع الصور التي تم فك ضغطها. قد تستهلك صورة فارغة في معظمها تملأ الشاشة بالكامل 3 كيلوبايت على القرص، ولكنها قد تستهلك 750 كيلوبايت أو أكثر على شاشة بدقة 450 بكسل × 450 بكسل.
استخدام ارتفاعات متسقة لخطوط الصور النقطية
عند استخدام BitmapFont، تأكَّد من أنّ جميع صور الحرف لها الارتفاع نفسه. وبالمثل، تأكَّد من أنّ جميع صور الكلمات لها الارتفاع نفسه.
استخدام أحجام إطارات متسقة في الصور المتحركة
بدلاً من نقل صورة على خلفية شاشة الساعة، عدِّل العناصر في الصورة واحتفظ بموضع المربّع المحيط ثابتًا. على سبيل المثال، لتحريك دائرة على خلفية شاشة الساعة، يمكنك تغيير لونها بدلاً من تدويرها.
يؤدي هذا الأسلوب إلى تقليل حجم المربّع المحيط المحسوب للرسوم المتحركة.
إزالة الصور المكرّرة
لعرض صورة عدة مرات، أدرِج مصدر صورة واحدًا فقط وأشِر إليه عدة مرات.
عرض مستوى التقدّم باستخدام أقواس
لمحاكاة اكتمال شريط التقدّم بعد دقيقة واحدة أو ساعة واحدة، لا تستخدِم 60 صورة. استخدِم عنصر Arc مع تعبير يتحكّم في طوله، كما هو موضّح هنا:
<PartDraw angle="0" width="400" height="400" name="ProgressBar" pivotX="0.5" pivotY="0.5" x="25" y="25"> <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="#654456" thickness="10" /> </Arc> </PartDraw>
لعرض خط غير متواصل، مثلاً للحصول على مظهر ساعة رقمية قديمة، استخدِم خاصية الشرطة لكائن Stroke أو تراكب صورة قناع شبه شفاف.
وضع عقارب الساعة والإضافات في نهاية الملف المصدر
يتم رسم عُقد XML بالترتيب المدرَج في ملف XML المصدر. من خلال وضع عقارب الساعة والميزات التفاعلية في النهاية، يمكنك السماح للنظام بإزالة طبقة كاملة من عملية احتساب الذاكرة في الوضع المحيط.
تقييم استخدام الذاكرة في خلفية شاشة الساعة
لقياس مقدار الذاكرة التي تستخدمها خلفية شاشة الساعة، استخدِم أداة تقييم مقدار الذاكرة المستخدَمة، وهي متاحة في مستودع watchface على GitHub.