ใช้เครื่องมือวิเคราะห์บิลด์เพื่อตรวจสอบประสิทธิภาพบิลด์ของโปรเจ็กต์ สำหรับ การสร้างแต่ละครั้งที่ดำเนินการ เครื่องมือวิเคราะห์การสร้างจะพยายามแสดงข้อมูลที่สำคัญที่สุด เพื่อให้คุณระบุและแก้ไขการถดถอยใน ประสิทธิภาพการสร้างได้อย่างรวดเร็ว
ดูกลยุทธ์เพิ่มเติมในการปรับปรุงประสิทธิภาพการสร้างได้ที่เพิ่มประสิทธิภาพความเร็วในการสร้าง
เริ่มต้นใช้งาน
ทุกครั้งที่คุณสร้างแอป เครื่องมือวิเคราะห์การสร้างจะสร้างรายงานและแสดง ข้อมูลจากรายงานล่าสุดในหน้าต่างสร้าง
หากต้องการเริ่มต้นใช้งาน ให้ทำดังนี้
- หากยังไม่ได้สร้างแอป ให้สร้างแอปด้วยวิธีใดวิธีหนึ่งต่อไปนี้
- คลิกสร้าง > สร้างโปรเจ็กต์จากแถบเมนู
- หากต้องการสร้าง Android App Bundle หรือ APK ให้คลิกสร้าง > สร้าง Bundle / APK > สร้าง Bundle หรือสร้าง > สร้าง Bundle / APK > สร้าง APK จากแถบเมนู
- หากต้องการเปิดหน้าต่างสร้าง ให้เลือกดู > หน้าต่างเครื่องมือ > สร้างจากแถบเมนู
- หากต้องการดูรายงานการสร้างในเครื่องมือวิเคราะห์การสร้าง ให้คลิกแท็บเครื่องมือวิเคราะห์การสร้างในหน้าต่างสร้าง
ข้อมูลที่เครื่องมือวิเคราะห์การสร้างแสดงอาจเปลี่ยนแปลงในการสร้างแต่ละครั้ง ดังนั้นการสร้างโปรเจ็กต์หลายครั้งและเปรียบเทียบข้อมูลเพื่อระบุรูปแบบจึงเป็นประโยชน์
ดูปลั๊กอินที่มีงานที่กำหนดระยะเวลาการสร้าง
เมื่อเปิดเครื่องมือวิเคราะห์บิลด์เป็นครั้งแรกหลังจากบิลด์เสร็จสมบูรณ์ หน้าต่าง จะแสดงภาพรวมของการวิเคราะห์บิลด์ ดังที่แสดงในรูปที่ 1

หากต้องการดูรายละเอียดของปลั๊กอินที่มีงานที่กำหนดระยะเวลาการสร้าง ให้คลิกปลั๊กอินที่มีงานที่ส่งผลต่อระยะเวลาการสร้างในหน้าภาพรวม นอกจากนี้ คุณยังเลือกงานจากเมนูแบบเลื่อนลงและยืนยันว่าคุณจัดกลุ่มตาม ปลั๊กอินได้ด้วย กราฟจะจัดเรียงปลั๊กอินและงานที่เกี่ยวข้องตามเวลารวมที่ใช้ในการดำเนินการให้เสร็จสมบูรณ์

ดูงานที่กำหนดระยะเวลาการสร้าง
หากต้องการดูรายละเอียดของงานที่ส่งผลต่อระยะเวลาการสร้าง ให้คลิกงานที่ส่งผลต่อระยะเวลาการสร้างในหน้าภาพรวม หรือเลือกงานจากเมนูแบบเลื่อนลง หากโปรเจ็กต์ใช้ AGP 8.0 ขึ้นไป ระบบจะจัดกลุ่มงานตาม หมวดหมู่โดยค่าเริ่มต้น เพื่อให้ระบุส่วนที่ส่งผลต่อระยะเวลา การบิลด์ได้ง่ายขึ้น คลิกงานย่อยแต่ละรายการเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการดำเนินการ

ตรวจสอบคำเตือน
หากตัววิเคราะห์บิลด์ตรวจพบว่าสามารถกำหนดค่าบางงานให้ทำงานได้อย่างมีประสิทธิภาพมากขึ้น ก็จะแสดงคำเตือน หากต้องการดูคำเตือนทั้งหมดที่เครื่องมือวิเคราะห์บิลด์ ระบุสำหรับการบิลด์ ให้คลิกคำเตือนทั้งหมดในหน้าภาพรวม หรือ เลือกคำเตือนจากเมนูแบบเลื่อนลง
คำเตือนบางรายการมีลิงก์สร้างรายงาน ดังที่แสดงในรูปที่ 4 เมื่อคลิกลิงก์สร้างรายงาน กล่องโต้ตอบจะปรากฏขึ้นพร้อมข้อมูลเพิ่มเติม ที่อาจช่วยให้นักพัฒนาปลั๊กอินแก้ไขปัญหาในปลั๊กอินเวอร์ชันใหม่ได้ คลิกคัดลอกเพื่อบันทึกข้อความลงในคลิปบอร์ดเพื่อให้วางข้อมูลลงในรายงานข้อบกพร่องไปยังนักพัฒนาปลั๊กอินได้ง่ายขึ้น

ประเภทคำเตือน
เครื่องมือวิเคราะห์บิลด์จะรายงานคำเตือนประเภทต่อไปนี้
เรียกใช้งานเสมอ: งานที่เรียกใช้เสมอจะทำให้งานอื่นๆ ทำงานในทุกบิลด์ ซึ่งไม่จำเป็น สาเหตุหลัก 2 ประการที่คุณอาจเห็นคำเตือนนี้มีดังนี้
(พบบ่อยกว่า) คุณไม่ได้ประกาศอินพุตและเอาต์พุตของงานอย่างถูกต้อง ในกรณีนี้ คุณควรประกาศอินพุตและเอาต์พุตสำหรับ งานของคุณอย่างถูกต้อง ซึ่งหมายถึงการประกาศอินพุตและเอาต์พุตด้วยตนเองในที่ที่ทำได้ หรือการเปลี่ยนเวอร์ชันปลั๊กอินหากงานที่ทริกเกอร์คำเตือนมาจากปลั๊กอินของบุคคลที่สาม
(พบได้น้อย) งานมีค่า
upToDateWhen
เป็น false ซึ่งควรหลีกเลี่ยง อาจเป็นเพราะมีตรรกะบางอย่างที่ประเมินค่าเป็นเท็จ หรือupToDateWhen
มีการฮาร์ดโค้ดให้เป็นเท็จ หากมีตรรกะที่ประเมินเป็นเท็จ ผลลัพธ์นี้อาจเป็นไปตามที่ตั้งใจไว้ และคุณอาจเลือกที่จะเพิกเฉยต่อคำเตือนได้ หากมีการฮาร์ดโค้ดupToDateWhen
เป็นเท็จ คุณควรนำฮาร์ดโค้ดออกจากโค้ด
ปัญหาการตั้งค่างาน: คำเตือนนี้จะสร้างขึ้นสำหรับงานที่ประกาศไดเรกทอรีเดียวกันเป็นเอาต์พุต ซึ่งหมายความว่าเอาต์พุตของงานเหล่านั้นมักจะ ไม่ได้รับการเก็บรักษาไว้ระหว่างบิลด์ และงานเหล่านั้นจะทำงานเสมอแม้ว่าจะ ไม่มีการเปลี่ยนแปลงก็ตาม หากต้องการแก้ไขคำเตือนนี้ คุณควรประกาศไดเรกทอรีเอาต์พุตที่แตกต่างกันสำหรับงาน ซึ่งหมายถึงการประกาศไดเรกทอรีเอาต์พุตที่แตกต่างกันด้วยตนเองในที่ที่คุณทำได้ หรือ การเปลี่ยนเวอร์ชันปลั๊กอินหากงานที่ทริกเกอร์คำเตือนมาจาก ปลั๊กอินของบุคคลที่สาม
ตัวประมวลผลคำอธิบายประกอบแบบไม่เพิ่มขึ้น: คำเตือนนี้จะสร้างขึ้นใน สถานการณ์ที่ตัวประมวลผลคำอธิบายประกอบเป็นแบบไม่เพิ่มขึ้นและทำให้ งาน
JavaCompile
ทำงานแบบไม่เพิ่มขึ้นเสมอ หากต้องการแก้ไขคำเตือนนี้ ให้เปลี่ยนไปใช้ตัวประมวลผล คำอธิบายประกอบแบบเพิ่มทีละรายการแคชการกำหนดค่า: คำเตือนนี้จะแสดงขึ้นหากไม่ได้เปิดใช้การแคชการกำหนดค่า สำหรับโปรเจ็กต์ Build Analyzer จะแสดงลำดับการบิลด์เพื่อตรวจสอบว่าโปรเจ็กต์ของคุณเข้ากันได้กับการแคชการกำหนดค่าหรือไม่ หากการตรวจสอบความเข้ากันได้สำเร็จ คุณจะเปิดการแคชการกำหนดค่า ได้จากเครื่องมือวิเคราะห์บิลด์
ตรวจสอบ Jetifier: คำเตือนนี้จะแสดงขึ้นหากมี
enableJetifier
แฟล็ก และเปิดใช้ในโปรเจ็กต์ของคุณ นั่นคือหากคุณมีandroid.enableJetifier=true
ในไฟล์gradle.properties
Build Analyzer สามารถตรวจสอบได้ว่า ควรถอดค่าสถานะออกอย่างปลอดภัยหรือไม่ เพื่อให้โปรเจ็กต์มี ประสิทธิภาพการสร้างที่ดีขึ้น และย้ายข้อมูลออกจากไลบรารี Android Support ที่ไม่มีการบำรุงรักษา
ตรวจสอบผลกระทบจากการดาวน์โหลด
Build Analyzer จะแสดงข้อมูลสรุปเกี่ยวกับเวลาที่ใช้ในการดาวน์โหลดทรัพยากร Dependency และมุมมองแบบละเอียดของการดาวน์โหลดต่อที่เก็บ หากต้องการตรวจสอบผลกระทบของการดาวน์โหลด ให้เลือกการดาวน์โหลดจากเมนูแบบเลื่อนลง ข้อมูลนี้ยังแสดงในหน้าต่าง ซิงค์ด้วย
คุณสามารถใช้ข้อมูลนี้เพื่อพิจารณาว่าการดาวน์โหลดการขึ้นต่อกันที่ไม่คาดคิดส่งผลเสียต่อประสิทธิภาพการสร้างหรือไม่ ซึ่งมีความสำคัญเป็นอย่างยิ่ง ในระหว่างการสร้างแบบเพิ่มทีละรายการ ซึ่งไม่ควรดาวน์โหลดอาร์ติแฟกต์ อย่างต่อเนื่อง
โดยเฉพาะอย่างยิ่ง คุณสามารถใช้ข้อมูลนี้เพื่อระบุปัญหาการกำหนดค่า เช่น การใช้เวอร์ชันแบบไดนามิกของทรัพยากร Dependency ที่ทำให้เกิดการดาวน์โหลดที่ไม่คาดคิด นอกจากนี้ หากเห็นคำขอที่ไม่สำเร็จจำนวนมากสำหรับที่เก็บข้อมูลที่เฉพาะเจาะจง อาจบ่งชี้ว่าควรนำที่เก็บข้อมูลออกหรือย้ายไปไว้ในส่วนล่างของการกำหนดค่าที่เก็บข้อมูล

[Windows เท่านั้น] ตรวจสอบผลกระทบของซอฟต์แวร์ป้องกันไวรัส
Build Analyzer จะแจ้งให้คุณทราบหากซอฟต์แวร์ป้องกันไวรัสอาจส่งผลต่อประสิทธิภาพการบิลด์ ปัญหานี้อาจเกิดขึ้นหากซอฟต์แวร์ป้องกันไวรัส เช่น Windows Defender กำลังสแกนแบบเรียลไทม์ในไดเรกทอรีที่ Gradle ใช้ Build Analyzer แนะนํารายการไดเรกทอรีที่จะยกเว้นจากการสแกนที่ใช้งานอยู่ และหากเป็นไปได้ จะมีลิงก์ให้เพิ่มไดเรกทอรีเหล่านั้นลงในรายการยกเว้นโฟลเดอร์ของ Windows Defender