เพิ่มประสิทธิภาพอย่างเต็มที่: สรุปสัปดาห์ Performance Spotlight
ใช้เวลาอ่าน 3 นาที
ในช่วงสัปดาห์ที่ผ่านมา เราได้เจาะลึกเกี่ยวกับการแชร์แนวทางปฏิบัติแนะนำและคำแนะนำที่จะช่วยให้แอป Android ทำงานได้เร็วขึ้น มีขนาดเล็กลง และเสถียรยิ่งขึ้น เราได้พูดถึงเครื่องมือที่ใช้ความพยายามน้อยแต่ให้ผลลัพธ์สูงซึ่งคุณต้องใช้ในการสร้างแอปที่มีประสิทธิภาพ ตั้งแต่ความสามารถพื้นฐานของเครื่องมือเพิ่มประสิทธิภาพ R8 และการเพิ่มประสิทธิภาพตามโปรไฟล์ ไปจนถึงการปรับปรุงประสิทธิภาพด้วย Jetpack Compose และคู่มือใหม่เกี่ยวกับการยกระดับประสิทธิภาพของแอป
โพสต์นี้เป็นดัชนีและแผนกลยุทธ์เพื่อให้คุณกลับมาดูแหล่งข้อมูลเหล่านี้ได้ทุกเมื่อที่ต้องการเพิ่มประสิทธิภาพ และนี่คือประเด็นสำคัญ 5 ข้อจากการเดินทางร่วมกันของเรา
ใช้เครื่องมือเพิ่มประสิทธิภาพ R8 เพื่อเพิ่มความเร็วให้แอป
การเปลี่ยนแปลงที่ส่งผลมากที่สุดและใช้ความพยายามน้อยที่สุดคือการเปิดใช้เครื่องมือเพิ่มประสิทธิภาพ R8 อย่างเต็มรูปแบบ ซึ่งไม่เพียงแต่ลดขนาดแอปเท่านั้น แต่ยังเพิ่มประสิทธิภาพทั้งโปรแกรมอย่างลึกซึ้งเพื่อเขียนโค้ดใหม่ตั้งแต่ต้นเพื่อประสิทธิภาพ กลับไปที่กฎการเก็บรักษาและนำ R8 กลับมาใช้ในงานด้านวิศวกรรม
เอกสารประกอบที่อัปเดตและขยายเนื้อหาใหม่เกี่ยวกับเครื่องมือเพิ่มประสิทธิภาพ R8 พร้อมให้ความช่วยเหลือคุณแล้ว
Reddit พบว่า Cold Startup เร็วขึ้น 40% และข้อผิดพลาด ANR ลดลง 30% หลังจากเปิดใช้โหมดเต็มรูปแบบของ R8
คุณอ่านกรณีศึกษาฉบับเต็มได้ในบล็อกของเรา
วิศวกรที่ Disney+ ลงทุนในประสิทธิภาพของแอปและกำลังเพิ่มประสิทธิภาพประสบการณ์ของผู้ใช้แอป บางครั้งการเปลี่ยนแปลงที่ดูเหมือนเล็กน้อยก็อาจสร้างผลลัพธ์ที่ยิ่งใหญ่ได้ ขณะตรวจสอบการกำหนดค่า R8 ทีมพบว่ามีการใช้แฟล็ก -dontoptimize หลังจากเปิดใช้การเพิ่มประสิทธิภาพโดยนำแฟล็กนี้ออก ทีม Disney+ พบว่าประสิทธิภาพของแอปดีขึ้นอย่างมาก
ดังนั้นในครั้งถัดไปที่มีคนถามคุณว่าควรทำอย่างไรเพื่อปรับปรุงประสิทธิภาพของแอป ก็เพียงแค่ส่งลิงก์โพสต์นี้ให้พวกเขา
อ่านเพิ่มเติมในบล็อกวันที่ 1: ใช้ R8 เพื่อลดขนาด เพิ่มประสิทธิภาพ และเร่งความเร็วแอป
แนะนำวิธีปรับปรุงประสิทธิภาพให้ดีขึ้น
โปรไฟล์พื้นฐานช่วยลดความจำเป็นในการคอมไพล์แบบ Just-In-Time ได้อย่างมีประสิทธิภาพ ซึ่งจะช่วยปรับปรุงความเร็วในการเริ่มต้น การเลื่อน ภาพเคลื่อนไหว และประสิทธิภาพการแสดงผลโดยรวม Startup Profiles ช่วยให้การเริ่มต้นแอปมีขนาดเล็กลงไปอีกด้วยการจัดลำดับไฟล์ classes.dex ของแอปอย่างชาญฉลาด
และหากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับความสำคัญของโปรไฟล์พื้นฐานที่มีต่อประสิทธิภาพของแอป โปรดอ่านบล็อกด้านวิศวกรรมของ Meta ซึ่งแชร์วิธีที่โปรไฟล์พื้นฐานช่วยปรับปรุงเมตริกประสิทธิภาพที่สำคัญต่างๆ ได้สูงสุด 40% ในแอปของตน
เรายังคงปรับปรุง Jetpack Compose ให้มีประสิทธิภาพมากขึ้นสำหรับคุณใน Jetpack Compose 1.10 ฟีเจอร์ต่างๆ เช่น องค์ประกอบที่หยุดชั่วคราวได้และหน้าต่างแคชที่ปรับแต่งได้มีความสำคัญอย่างยิ่งต่อการรักษาการเลื่อนที่ราบรื่นเมื่อจัดการกับรายการที่ซับซ้อน ลองดูตอนล่าสุดของ #TheAndroidShow ซึ่งเราจะอธิบายเรื่องนี้อย่างละเอียด
อ่านเพิ่มเติมในบล็อกวันพุธ: ข้อควรพิจารณาด้านประสิทธิภาพที่ลึกซึ้งยิ่งขึ้น
การวัดประสิทธิภาพทำได้ง่ายๆ เพียง 3 ขั้นตอน
คุณไม่สามารถจัดการสิ่งที่วัดค่าไม่ได้ คู่มือการปรับระดับประสิทธิภาพของเราจะแบ่งเส้นทางการวัดผลออกเป็น 5 ขั้นตอน โดยเริ่มจากข้อมูลที่เข้าถึงได้ง่ายไปจนถึงเครื่องมือขั้นสูงในเครื่อง
เริ่มจากระดับ 1 เราจะสอนวิธีใช้ข้อมูลที่เข้าถึงได้ง่ายจาก Android Vitals ซึ่งจะให้ข้อมูลภาคสนามเกี่ยวกับ ANR, ข้อขัดข้อง และการใช้งานแบตเตอรี่มากเกินไป
นอกจากนี้ เราจะสอนวิธีเพิ่มเลเวลให้คุณด้วย ตัวอย่างเช่น เราจะสาธิตวิธีไปถึงระดับ 3 ด้วยการทดสอบประสิทธิภาพในเครื่อง โดยใช้ Jetpack Macrobenchmark และ UiAutomator 2.4 API ใหม่เพื่อวัดและยืนยันการเปลี่ยนแปลงประสิทธิภาพของแอปอย่างแม่นยำ
อ่านเพิ่มเติมในบล็อกวันพฤหัสบดี: [ลิงก์ไปยังบล็อกวันพฤหัสบดี: คู่มือการยกระดับเส้นทางการเพิ่มประสิทธิภาพ]
การแก้ไขข้อบกพร่องด้านประสิทธิภาพเพิ่งได้รับการอัปเกรด
การเพิ่มประสิทธิภาพขั้นสูงไม่ควรทำให้รายงานข้อขัดข้องอ่านไม่ได้ ฟีเจอร์ใหม่ๆ ออกแบบมาเพื่อช่วยให้คุณแก้ไขข้อบกพร่องของ R8 และงานเบื้องหลังได้อย่างมั่นใจ ดังนี้
การติดตาม Logcat อัตโนมัติ
ตั้งแต่ Android Studio Narwhal เป็นต้นไป ระบบจะยกเลิกการสร้างความสับสนให้กับสแต็กเทรซในหน้าต่าง Logcat โดยอัตโนมัติได้ วิธีนี้จะช่วยให้คุณเห็นและแก้ไขข้อบกพร่องของข้อขัดข้องในบิลด์ที่พร้อมใช้งานจริงได้ทันที
จำกัดขอบเขตของกฎการเก็บรักษา
เมื่อวันอังคาร เราได้อธิบายเกี่ยวกับกฎ Keep ที่จำเป็นในการแก้ไขข้อขัดข้องเกี่ยวกับรันไทม์ โดยเน้นการเขียนกฎระดับสมาชิกที่เฉพาะเจาะจงแทนการใช้ไวลด์การ์ดที่กว้างเกินไป และเนื่องจากหัวข้อนี้เป็นหัวข้อที่สำคัญ เราจึงได้จัดทำวิดีโอให้คุณด้วย
และด้วยการตรวจสอบ Lint ใหม่สำหรับกฎ Keep แบบกว้าง ฟีเจอร์ Android Studio Otter 3 Drop ก็ครอบคลุมในส่วนนี้ด้วย
นอกจากนี้ เรายังได้เผยแพร่คำแนะนำใหม่เกี่ยวกับการทดสอบและการแก้ปัญหาการกำหนดค่า R8 เพื่อช่วยให้คุณกำหนดค่าได้อย่างถูกต้องและมั่นใจ
อ่านเพิ่มเติมในบล็อกวันอังคารของเรา: กำหนดค่าและแก้ปัญหากฎการเก็บรักษา R8
งานเบื้องหลัง
เราได้แชร์คำแนะนำเกี่ยวกับการแก้ไขข้อบกพร่องในสถานการณ์ที่พบบ่อยซึ่งคุณอาจพบเมื่อกำหนดเวลางานด้วย WorkManager
เครื่องมือตรวจสอบงานในเบื้องหลังจะแสดงภาพและมุมมองกราฟของงาน WorkManager ซึ่งช่วยแก้ไขข้อบกพร่องว่าเหตุใดงานที่กำหนดเวลาไว้จึงล่าช้าหรือล้มเหลว และหน้า Landing Page ของเอกสารประกอบเกี่ยวกับงานเบื้องหลังที่ปรับปรุงใหม่จะไฮไลต์ API เฉพาะงานซึ่งได้รับการเพิ่มประสิทธิภาพสำหรับ Use Case ที่เฉพาะเจาะจง เพื่อช่วยให้คุณดำเนินการได้อย่างน่าเชื่อถือมากขึ้น
อ่านเพิ่มเติมในบล็อกวันพุธ: ข้อควรพิจารณาเกี่ยวกับประสิทธิภาพการทำงานในเบื้องหลัง
การเพิ่มประสิทธิภาพเป็นกระบวนการที่ต้องทำอย่างต่อเนื่อง
หากคุณทำภารกิจของเราในการเปิดใช้โหมดเต็มรูปแบบของ R8 สำเร็จในสัปดาห์นี้ ขั้นตอนถัดไปคือการผสานรวมประสิทธิภาพเข้ากับแผนกลยุทธ์ของสินค้าโดยใช้คะแนนประสิทธิภาพของแอป เฟรมเวิร์กมาตรฐานนี้ช่วยให้คุณค้นหารายการการดำเนินการที่มีประสิทธิภาพสูงสุดเพื่อการปรับปรุงอย่างต่อเนื่อง
เราปิดท้ายสัปดาห์ด้วยเซสชันถามและตอบ #AskAndroid Live ซึ่งวิศวกรได้ตอบคำถามที่ยากที่สุดของคุณเกี่ยวกับ R8, การเพิ่มประสิทธิภาพตามโปรไฟล์ และอื่นๆ หากคุณพลาดไป ก็ดูย้อนหลังได้เลย
ขอขอบคุณที่เข้าร่วมการสัมมนากับเรา ตอนนี้ก็ถึงเวลาสร้างสรรค์และรักษาความสม่ำเสมอไว้
-
กิจกรรมและโปรแกรมเราจะเริ่มต้นด้วยการเปลี่ยนแปลงที่ส่งผลมากที่สุดและใช้ความพยายามน้อยที่สุดที่คุณสามารถทำได้เพื่อปรับปรุงประสิทธิภาพของแอป นั่นคือการเปิดใช้เครื่องมือเพิ่มประสิทธิภาพ R8 ในโหมดเต็มรูปแบบ
Ben Weiss • ใช้เวลาอ่าน 5 นาที -
กิจกรรมและโปรแกรมระบบนิเวศของ Android เป็นระบบที่รองรับการใช้งานหลายอุปกรณ์ ซึ่งครอบคลุมทั้งโทรศัพท์ อุปกรณ์แบบพับได้ แท็บเล็ต อุปกรณ์สวมใส่ จอแสดงผลในรถยนต์ XR และ Chromebook ในภูมิทัศน์นี้ การพัฒนาที่ปรับเปลี่ยนได้เป็นรากฐานสำคัญในการเข้าถึงผู้ใช้ไม่ว่าผู้ใช้จะอยู่ที่ใดก็ตาม
Rebecca Gutteridge • ใช้เวลาอ่าน 3 นาที -
กิจกรรมและโปรแกรมในปีนี้ที่งาน Android Dev Summit เราได้แชร์วิธีที่เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของ Android กำลังพัฒนาเพื่อช่วยให้คุณทำงานได้อย่างมีประสิทธิภาพมากขึ้นควบคู่ไปกับ Agent
Adarsh Fernando • ใช้เวลาอ่าน 10 นาที
รับข้อมูลเชิงลึกเกี่ยวกับการพัฒนา Android ล่าสุดที่ส่งไปยังกล่องจดหมายของคุณทุกสัปดาห์