ประสิทธิภาพใน 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 ของแอปโดยอัตโนมัติเพื่อทำการคอมไพล์ล่วงหน้า
ยืนยันโปรไฟล์พื้นฐานโดยใช้เทคนิคต่อไปนี้
- ใช้การทดสอบ Macrobenchmark
- ใช้คำสั่ง 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 แต่ละส่วนเมื่อตรวจสอบเส้นทางของผู้ใช้เพื่อหาการเพิ่มประสิทธิภาพที่เป็นไปได้
การทดสอบ Macrobenchmark
Macrobenchmark จะทดสอบ Use Case ขนาดใหญ่ของแอป โดยเฉพาะการเริ่มต้นแอปและการจัดการ UI ที่ซับซ้อน หากต้องการเริ่มต้นใช้งาน โปรดดูคู่มือการติดตั้งใช้งาน
ดูตัวอย่างการใช้การเปรียบเทียบระดับมาโครเพื่อตรวจสอบประสิทธิภาพของโปรไฟล์พื้นฐานได้ที่ตัวอย่างประสิทธิภาพใน GitHub
ไลบรารี JankStats
ใช้ไลบรารี JankStats เพื่อติดตามและวิเคราะห์ปัญหาด้านประสิทธิภาพในแอปพลิเคชัน
ดูตัวอย่างได้ที่ตัวอย่าง JankStats ใน GitHub
การติดตามของระบบ
เมื่อใช้ภาพเคลื่อนไหวประเภทใหม่ที่เปิดตัวโดย Material 3 Expressive ให้ใช้ฟีเจอร์การติดตามของระบบใน Android Studio เพื่อตรวจสอบและวิเคราะห์เวลาในการตอบสนองในเส้นทางของผู้ใช้ที่อาจมีปัญหา ใช้ข้อมูลนี้เพื่อยืนยันเนื้อหาของโปรไฟล์พื้นฐานและระบุความไม่มีประสิทธิภาพที่อาจเกิดขึ้นในตรรกะของโค้ด
เครื่องมือเพิ่มเติม
นอกจากเครื่องมือปรับปรุงประสิทธิภาพแล้ว คุณยังใช้เครื่องมืออื่นๆ เพื่อปรับปรุงประสิทธิภาพการทำงานและเวิร์กโฟลว์ได้ด้วย
เครื่องมือเพิ่มประสิทธิภาพการทำงานของ Android Studio
Android Studio มีเครื่องมือหลายอย่างที่ช่วยลดเวลาที่คุณใช้ในการระบุการปรับปรุงประสิทธิภาพ
ตัวอย่างเช่น การใช้เครื่องมืออย่าง Live Edit และ Composable Previews จะช่วยให้คุณระบุองค์ประกอบ UI ที่กระตุก รวมถึงพื้นที่ที่เกี่ยวข้องในโค้ดของแอปเพื่อปรับปรุงประสิทธิภาพได้
ทำการทดสอบประสิทธิภาพขั้นสุดท้ายทั้งหมดในชุดอุปกรณ์ Wear OS จริงที่แสดงถึงฐานผู้ใช้เป้าหมายได้อย่างถูกต้อง
ซึ่งสำคัญอย่างยิ่งเมื่อย้ายข้อมูลไปยัง Material 3 Expressive ซึ่งจะเพิ่มฟีเจอร์ต่างๆ เช่น แบบอักษรที่ยืดหยุ่นและการเปลี่ยนรูปร่างให้กับแอปของคุณ
หากคุณกำลังย้ายข้อมูลจากมุมมอง โปรดดูคำแนะนำในการย้ายข้อมูลและแนวทางปฏิบัติแนะนำสำหรับประสิทธิภาพของ Jetpack Compose เพื่อยืนยันว่า UI ของแอปมีประสิทธิภาพเมื่อใช้ Jetpack Compose
ทรัพยากรอื่นๆ
หากต้องการติดตามข้อมูลล่าสุดเกี่ยวกับประสิทธิภาพของ Android โปรดดูข่าวสารและวิดีโอล่าสุดในคู่มือประสิทธิภาพของแอป