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