Wear OS ช่วยเพิ่มอายุการใช้งานแบตเตอรี่ด้วยการติดตามการใช้หน่วยความจำ หน้าปัดที่ใช้ Watch Face Format มีขีดจำกัดด้านหน่วยความจำตามหลักเกณฑ์ด้านคุณภาพของแอป Wear OS ดังนี้
- โหมดแอมเบียนท์: การใช้หน่วยความจำสูงสุด 10 MB
- โหมดอินเทอร์แอกทีฟ: การใช้หน่วยความจำสูงสุด 100 MB
การคำนวณการใช้งานหน่วยความจำ
หากต้องการคำนวณการใช้หน่วยความจำสำหรับรูปภาพหรือแบบอักษรบิตแมปในหน้าปัดโดยใช้ รูปแบบหน้าปัด ระบบจะทำดังนี้
- คลายการบีบอัดรูปภาพหรือแบบอักษร
- ตรวจสอบว่ามีการเพิ่มประสิทธิภาพต่อไปนี้หรือไม่
- ปรับขนาดให้พอดีกับหน้าจอมากขึ้น
- ครอบตัดพิกเซลโปร่งใส
- ดาวน์แซมปลิงเป็น RGB565 โดยไม่สูญเสียความเที่ยงตรง
ระบบจะคำนวณขนาดตามกรอบล้อมรอบที่ได้ดังนี้
- สำหรับรูปภาพและแบบอักษรที่ใช้ RGBA8888: 4 x ความกว้าง x ความสูง
- สำหรับรูปภาพและแบบอักษรที่ใช้ RGB565: 2 x ความกว้าง x ความสูง
- สำหรับรูปภาพและแบบอักษรที่ใช้การกำหนดค่าบิตแมป ALPHA_8: กว้าง x สูง
โหมดอินเทอร์แอกทีฟ
หากต้องการคำนวณการใช้หน่วยความจำสำหรับโหมดอินเทอร์แอกทีฟ ระบบจะรวมค่าต่อไปนี้
- ขนาดที่ยังไม่ได้ประมวลผลของแบบอักษรเวกเตอร์
- การใช้งานแบบอักษรเริ่มต้นของระบบโดยประมาณ
- ขนาดรวมของรูปภาพและแบบอักษรบิตแมปหลังจากครอบตัด ปรับขนาด และ จัดรูปแบบใหม่
การกำหนดค่า
สำหรับหน้าปัดที่มีการกำหนดค่า ระบบจะพยายามคำนวณ ขนาดรวมของทรัพยากรหน้าปัดในการกำหนดค่าต่างๆ หาก จำนวนชุดค่าผสมมีมาก ระบบอาจประเมินจำนวน ทรัพยากรที่ใช้พร้อมกันสูงเกินไป
โหมดแอมเบียนท์และเลเยอร์
ระบบจะถือว่าโหมดแอมเบียนท์ใช้เลเยอร์แบบเต็มหน้าจอสูงสุด 3 เลเยอร์ โดย 2 เลเยอร์เป็นแบบคงที่ เลเยอร์ประกอบด้วย
- พื้นหลังของหน้าปัด ระบบจะถือว่านี่คือรูปภาพ 1 รูป ไม่ว่าพื้นหลังจะประกอบด้วยรูปภาพกี่รูปก็ตาม
- ชิ้นส่วนที่เคลื่อนไหว เช่น มือ จอแสดงผลดิจิทัล หรือองค์ประกอบแบบไดนามิก
- องค์ประกอบที่เหลือจากไฟล์ XML ต้นฉบับ
แบบอักษรบิตแมปขนาดใหญ่มักใช้หน่วยความจำมากที่สุดในโหมดแอมเบียนท์
วิธีการลดการใช้งานหน่วยความจำ
ใช้การเพิ่มประสิทธิภาพต่อไปนี้เพื่อลดการใช้หน่วยความจำ
ครอบตัดและปรับขนาดแบบอักษรบิตแมป
ครอบตัดรูปภาพและBitmapFontออบเจ็กต์ให้ตรงกับขนาดการแสดงผล
Wear OS จะวาดหน้าปัดโดยใช้รูปภาพทั้งหมดที่คลายการบีบอัดแล้ว รูปภาพแบบเต็มหน้าจอที่ว่างเปล่าส่วนใหญ่อาจใช้พื้นที่ 3 KB ในดิสก์ แต่ใช้พื้นที่ 750 KB ขึ้นไปในหน้าจอขนาด 450 x 450 พิกเซล
ใช้ความสูงของแบบอักษรบิตแมปที่สอดคล้องกัน
เมื่อใช้ BitmapFont ให้ตรวจสอบว่ารูปภาพทั้งหมดของตัวละครมีความสูงเท่ากัน
ในทำนองเดียวกัน ตรวจสอบว่ารูปภาพทั้งหมดสำหรับคำมีความสูงเท่ากัน
ใช้ขนาดเฟรมที่สอดคล้องกันในภาพเคลื่อนไหว
แทนที่จะย้ายรูปภาพไปทั่วหน้าปัด ให้อัปเดตองค์ประกอบในรูปภาพ และคงตำแหน่งกรอบล้อมไว้ เช่น หากต้องการเคลื่อนไหววงกลมบนหน้าปัด ให้เปลี่ยนสีแทนการหมุน
เทคนิคนี้จะลดขนาดของกรอบล้อมรอบที่คำนวณแล้วของภาพเคลื่อนไหว
กรองรูปภาพที่ซ้ำกันออก
หากต้องการแสดงรูปภาพหลายครั้ง ให้ใส่แหล่งข้อมูลรูปภาพเพียงรายการเดียวและ อ้างอิงหลายครั้ง
แสดงความคืบหน้าโดยใช้ส่วนโค้ง
หากต้องการจำลองแถบความคืบหน้าให้เสร็จสิ้นหลังจากผ่านไป 1 นาทีหรือ 1 ชั่วโมง ให้หลีกเลี่ยงการใช้รูปภาพ 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
แนะนำสำหรับคุณ
- หมายเหตุ: ข้อความลิงก์จะแสดงเมื่อ JavaScript ปิดอยู่
- Arc
- เส้น
- สี่เหลี่ยมผืนผ้า