ประสิทธิภาพใน Wear OS เป็นสิ่งที่แอปต้องพิจารณาเป็นอย่างยิ่ง เนื่องจากอุปกรณ์ Wear OS หลายรุ่นมีทรัพยากร CPU และ GPU ที่จำกัดเมื่อเทียบกับอุปกรณ์เคลื่อนที่ขนาดใหญ่ เมื่อมีการเปิดตัวภาพเคลื่อนไหวที่สมบูรณ์ยิ่งขึ้นและเอฟเฟกต์แบบไดนามิกใน Material 3 Expressive คุณควรตรวจสอบและปรับปรุงประสิทธิภาพของเวิร์กโฟลว์หลัก ของแอป
ใช้คู่มือประสิทธิภาพของ Jetpack Compose เพื่อกำหนดค่าและพัฒนาแอป ให้มีประสิทธิภาพสูงสุดโดยใช้ Jetpack Compose เอกสารนี้จะเน้นเทคนิคบางอย่างที่อธิบายไว้ในคำแนะนำดังกล่าว
สร้างและปฏิบัติตามกลยุทธ์การวัดประสิทธิภาพเพื่อตรวจสอบว่าเทคนิคเหล่านี้ทํางานได้ตามที่คาดไว้สําหรับแอปของคุณ
เทคนิคการปรับปรุงประสิทธิภาพที่สำคัญ
เริ่มต้นด้วยเครื่องมือประเภทประสิทธิภาพที่มีประสิทธิภาพมากที่สุด ได้แก่ โปรไฟล์พื้นฐาน (รวมถึงโปรไฟล์เริ่มต้น) และเครื่องมือเพิ่มประสิทธิภาพโค้ด R8
อัปเดตทรัพยากร Dependency ของ Compose เป็นเวอร์ชัน 1.8 ขึ้นไป ซึ่งมี ฟีเจอร์ใหม่ที่สำคัญหลายอย่างและปรับปรุงความเสถียรโดยรวมของ ไลบรารี ดูวิธีการอัปเดตได้ในวิธีการในการประกาศทรัพยากร Dependency ดูข้อมูลเพิ่มเติมได้ในบล็อกเกี่ยวกับการเปิดตัวเวอร์ชัน 1.8 และการพูดคุยใน I/O เกี่ยวกับมีอะไรใหม่ใน Compose
โปรไฟล์พื้นฐาน
ใช้โปรไฟล์พื้นฐานเพื่อปรับปรุงประสิทธิภาพของแอป จัดกลุ่ม คลาสและเมธอดที่แสดงเวิร์กโฟลว์หลักของแอป ซึ่งระบบ สามารถคอมไพล์ล่วงหน้าได้โดยใช้โปรไฟล์พื้นฐาน ซึ่งจะช่วยลดเวลาเริ่มต้น ลดเฟรมที่กระตุก และปรับปรุงประสิทธิภาพเพิ่มเติมได้
ไลบรารี Jetpack Compose แต่ละรายการจะมาพร้อมกับกฎการสร้างโปรไฟล์ของตัวเอง เมื่อแอป ขึ้นอยู่กับไลบรารี กฎโปรไฟล์ของไลบรารีจะผสานโดยอัตโนมัติและ เผยแพร่พร้อมกับ APK ของแอปเพื่อการคอมไพล์ล่วงหน้า
ยืนยันโปรไฟล์พื้นฐานโดยใช้เทคนิคต่อไปนี้
- ใช้การทดสอบมาโครเบนช์มาร์ก
- ใช้คำสั่ง ADB ที่เฉพาะเจาะจงเพื่อตรวจสอบสถานะการกำหนดค่าโปรไฟล์ของแอป ขั้นตอนสำหรับเทคนิคทั้ง 2 อย่างนี้อธิบายไว้ในคู่มือการวัดและตรวจสอบประสิทธิภาพ
โปรไฟล์สตาร์ทอัพ
โปรไฟล์การเริ่มต้นซึ่งเป็นชุดย่อยของโปรไฟล์พื้นฐานจะเพิ่มประสิทธิภาพ คลาสและเมธอดที่มีอยู่เพื่อลดเวลาในการตอบสนองของการเริ่มต้นแอป
การเพิ่มโปรไฟล์การเริ่มต้นจะเพิ่มขนาด APK ของแอป ดังนั้นก่อนที่จะเพิ่มโปรไฟล์ลงในรุ่นที่ใช้งานจริง โปรดประเมินข้อแลกเปลี่ยนระหว่างขนาด APK กับเวลาในการตอบสนองของการเริ่มต้น
หากต้องการเริ่มต้นใช้งาน โปรดอ่านสร้างโปรไฟล์สตาร์ทอัป
R8
ใช้คอมไพเลอร์ R8 เพื่อลดขนาดและเพิ่มประสิทธิภาพแอป R8 จะนำโค้ดและ ทรัพยากรที่ไม่ได้ใช้ออก เขียนโค้ดใหม่เพื่อเพิ่มประสิทธิภาพรันไทม์ และอื่นๆ
ในคำแนะนำภาพรวมการปรับปรุงประสิทธิภาพ ให้อ่านข้อควรพิจารณาสำหรับ R8 ซึ่งรวมถึงขั้นตอนสำคัญในการนำทรัพยากรที่ไม่ได้ใช้ออก
การวัดและการตรวจสอบประสิทธิภาพ
ดูข้อมูลเกี่ยวกับกลยุทธ์การวัดประสิทธิภาพทั่วไปใน Android ได้ที่ภาพรวมของการวัดประสิทธิภาพแอป ส่วนนี้จะอธิบายเทคนิคบางอย่างที่กล่าวถึงในเอกสารประกอบนั้น
เลือกตัวแปรบิลด์สำหรับการวัด
แม้ว่าโหมดแก้ไขข้อบกพร่องจะมีประโยชน์ในการระบุปัญหาหลายอย่าง แต่ก็มีผลกระทบด้านประสิทธิภาพอย่างมาก ไม่ได้ใช้โปรไฟล์พื้นฐาน และอาจทำให้ระบุปัญหาในโค้ดที่อาจส่งผลต่อประสิทธิภาพได้ยาก
หากต้องการทำความเข้าใจประสิทธิภาพของแอปอย่างถูกต้อง ให้เรียกใช้แอปในโหมดรีลีส
สรุปผลลัพธ์สุดท้ายเกี่ยวกับประสิทธิภาพจากการทดสอบที่ดำเนินการกับแอป ที่ทำงานด้วยตัวเลือกบิลด์รุ่นที่เผยแพร่และในอุปกรณ์จริงเท่านั้น
อย่างไรก็ตาม เมื่อทำการทดสอบเปรียบเทียบ ให้ใช้ตัวแปรการสร้างการทดสอบเปรียบเทียบ ซึ่งมีความแตกต่างที่สำคัญบางอย่างจากการแก้ไขข้อบกพร่องในรุ่นที่เผยแพร่ ดูรายละเอียดได้ที่คู่มือการตั้งค่า Macrobenchmark
ตรวจสอบโปรไฟล์พื้นฐานของแอป
เริ่มต้นด้วยการตรวจสอบสถานะของโปรไฟล์
adb shell dumpsys package dexopt | grep -A 1 $PACKAGE_NAME
หากสถานะไม่ใช่ status=speed-profile
แสดงว่ายังไม่ได้ใช้กฎโปรไฟล์
เพื่อเพิ่มประสิทธิภาพแอป
ระบบจะใช้กฎโดยใช้การทำงานในเบื้องหลังซึ่งจะทำงานเมื่ออุปกรณ์ชาร์จ และไม่มีการใช้งาน หากต้องการทริกเกอร์ด้วยตนเอง ให้เรียกใช้คำสั่งต่อไปนี้หลังจากที่แอป เปิดขึ้นและผ่านไปนานพอที่โปรแกรมติดตั้งโปรไฟล์จะบูตสแตป โปรไฟล์ในเบื้องหลัง โดยปกติแล้วกระบวนการนี้จะใช้เวลาประมาณ 40 วินาที
adb shell cmd package bg-dexopt-job
จากนั้นเรียกใช้คำสั่งก่อนหน้าอีกครั้งเพื่อยืนยันว่าสถานะเป็น speed-profile
สําหรับกรณีที่การเพิ่มประสิทธิภาพเกิดขึ้นเมื่อติดตั้ง โปรดดูหัวข้อโหลดโปรไฟล์พื้นฐานด้านข้าง
UI Automator API
UI Automator API จะทำให้การโต้ตอบเป็นแบบอัตโนมัติโดยใช้โปรแกรม ใช้ API นี้ เพื่อเปรียบเทียบองค์ประกอบ UI ที่แยกกันเมื่อตรวจสอบเส้นทางของผู้ใช้เพื่อหา การเพิ่มประสิทธิภาพที่อาจเกิดขึ้น
การทดสอบมาโครเบนช์มาร์ก
มาโครเบนช์มาร์กจะทดสอบกรณีการใช้งานที่ใหญ่ขึ้นของแอป โดยเฉพาะการเริ่มต้นแอปและการจัดการ UI ที่ซับซ้อน ดูคู่มือการติดตั้งใช้งานเพื่อเริ่มต้นใช้งาน
ดูตัวอย่างการใช้มาโครเบนช์มาร์กเพื่อตรวจสอบประสิทธิภาพของ โปรไฟล์พื้นฐานได้ในตัวอย่างประสิทธิภาพใน GitHub
ไลบรารี JankStats
ใช้ไลบรารี JankStats เพื่อติดตามและวิเคราะห์ปัญหาด้านประสิทธิภาพใน แอปพลิเคชัน
ดูตัวอย่างได้ในตัวอย่าง JankStats บน GitHub
การติดตามของระบบ
ใช้ฟีเจอร์การติดตามระบบใน Android Studio เพื่อตรวจสอบและวินิจฉัยเวลาในการตอบสนองในเส้นทางของผู้ใช้ที่อาจมีปัญหา ด้วยประเภทภาพเคลื่อนไหวใหม่ที่เปิดตัวโดย Material 3 Expressive ข้อมูลนี้จะช่วยให้คุณยืนยันเนื้อหา ของโปรไฟล์พื้นฐาน และระบุความไม่มีประสิทธิภาพที่อาจเกิดขึ้นในตรรกะ ของโค้ดได้
เครื่องมือเพิ่มเติม
นอกจากเครื่องมือปรับปรุงประสิทธิภาพแล้ว คุณยังใช้เครื่องมืออื่นๆ เพื่อเพิ่มประสิทธิภาพการทำงานและเวิร์กโฟลว์ได้ด้วย
เครื่องมือเพิ่มประสิทธิภาพของ Android Studio
Android Studio มีเครื่องมือหลายอย่างที่จะช่วยลดเวลาที่คุณ ใช้ในการระบุการปรับปรุงประสิทธิภาพ
ตัวอย่างเช่น การใช้เครื่องมืออย่างการแก้ไขแบบสดและตัวอย่างที่ประกอบได้ จะช่วยให้คุณระบุองค์ประกอบ UI ที่กระตุกพร้อมกับส่วนที่เกี่ยวข้องในโค้ดของแอป เพื่อปรับปรุงประสิทธิภาพได้
เรียกใช้การทดสอบประสิทธิภาพขั้นสุดท้ายทั้งหมดในชุดอุปกรณ์ Wear OS จริง ที่แสดงฐานผู้ใช้เป้าหมายของคุณอย่างถูกต้อง
ซึ่งมีความสำคัญอย่างยิ่งเมื่อย้ายข้อมูลไปยัง Material 3 Expressive ซึ่ง จะนำฟีเจอร์ต่างๆ เช่น แบบอักษรแบบยืดหยุ่นและการเปลี่ยนรูปร่างมายังแอป
หากคุณกำลังย้ายข้อมูลจาก View โปรดดูคู่มือการย้ายข้อมูลและ แนวทางปฏิบัติแนะนำสำหรับประสิทธิภาพของ Jetpack Compose เพื่อยืนยันว่า UI ของแอป มีประสิทธิภาพเมื่อใช้ Jetpack Compose
ทรัพยากรอื่นๆ
หากต้องการติดตามข่าวสารล่าสุดเกี่ยวกับประสิทธิภาพของ Android โปรดดูข่าวสารและวิดีโอล่าสุดในคู่มือประสิทธิภาพของแอป