เอกสารนี้อธิบายความแตกต่างระหว่างโปรไฟล์พื้นฐานกับโปรไฟล์เริ่มต้น
คุณสามารถใช้ปลั๊กอิน Gradle ของโปรไฟล์พื้นฐานเพื่อบันทึก
ไฟล์โปรไฟล์พื้นฐานที่มนุษย์อ่านได้ซึ่งสร้างขึ้นโดยการทดสอบ BaselineProfileRule
โดยอัตโนมัติ เมื่อสร้างแอป Android Gradle Plugin (AGP) จะคอมไพล์กฎโปรไฟล์ที่มนุษย์อ่านได้เหล่านี้
เป็นรูปแบบไบนารีที่แพ็กเกจเป็น baseline.prof
ภายใน Android Package Kit (APK) หรือ Android App Bundle (AAB) ซึ่ง Android
Runtime (ART) สามารถใช้ได้อย่างมีประสิทธิภาพสำหรับการคอมไพล์ในอุปกรณ์ โดยมีเงื่อนไขว่าโปรไฟล์ไบนารีต้องมีขนาดเล็กกว่า 1.5 MB
โดยปกติแล้วไฟล์โปรไฟล์ที่สร้างขึ้นจะมีชื่อว่า startup-prof.txt และ
baseline-prof.txt
โปรไฟล์พื้นฐาน
ไฟล์โปรไฟล์พื้นฐานมีชุดกฎที่ครอบคลุมซึ่ง ART ใช้เพื่อ คอมไพล์เส้นทางโค้ดที่ใช้บ่อยล่วงหน้า ซึ่งจะเพิ่มประสิทธิภาพการเริ่มต้นแอป ลด อาการกระตุกระหว่างการโต้ตอบ และปรับปรุงประสิทธิภาพรันไทม์โดยรวม
โดยทั่วไปแล้วไฟล์โปรไฟล์พื้นฐานจะเป็นซูเปอร์เซ็ตของกฎที่พบในโปรไฟล์เริ่มต้น ไฟล์นี้มีกฎทั้งหมดที่จำเป็นสำหรับการเพิ่มประสิทธิภาพการเริ่มต้นแอป (สร้างผ่านbaselineProfileงาน Gradle) พร้อมด้วย
โปรไฟล์เพิ่มเติมสำหรับการเดินทางของผู้ใช้ที่สำคัญอื่นๆ เช่น การเลื่อน
และการไปยังส่วนต่างๆ ของหน้าจอ
ระบบจะสร้างกฎที่ไม่ใช่กฎเริ่มต้นเหล่านี้โดยไม่คำนึงถึงค่าของฟิลด์การกำหนดค่า
includeInStartupProfile ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมของโปรไฟล์พื้นฐาน
โปรไฟล์สตาร์ทอัพ
ไฟล์โปรไฟล์การเริ่มต้นมีกฎที่เพิ่มประสิทธิภาพมาให้เหมาะกับเส้นทางการเริ่มต้นของแอปโดยเฉพาะ
ในระหว่างการคอมไพล์ D8 และ R8 จะใช้ไบต์โค้ด Java เพื่อสร้างไฟล์Dalvik Executable (DEX) ทั้ง D8 และ R8 ใช้โปรไฟล์การเริ่มต้นเพื่อ
เพิ่มประสิทธิภาพเลย์เอาต์ DEX โดยการวางโค้ดการเริ่มต้นที่สำคัญไว้ในไฟล์ .dex หลัก
เพื่อให้โหลดคลาสได้เร็วขึ้น หากต้องการเพิ่มประสิทธิภาพให้ได้มากที่สุด โค้ดเริ่มต้นต้องอยู่ในไฟล์ .dex หลักนี้ หาก
ขนาดสะสมของโค้ดเริ่มต้นมีขนาดใหญ่เกินไป โค้ดจะล้นไปยัง
ไฟล์ DEX ที่ตามมา ซึ่งมักจะเต็มไปด้วยคลาสและเมธอดที่ไม่จำเป็นและ
ทำให้การเริ่มต้นระบบช้าลง
แม้ว่าโปรไฟล์ Startup จะให้ข้อมูลเมตาที่จำเป็นสำหรับการเพิ่มประสิทธิภาพเลย์เอาต์ DEX
แต่การเพิ่มประสิทธิภาพโค้ด R8 ก็อาจมีประสิทธิภาพสูงในการช่วยกระบวนการนี้
R8 จะลดร่องรอยทั้งหมดของตรรกะการเริ่มต้นโดยการนำโค้ดที่ไม่ได้ใช้ออกและลดขนาดไบต์โค้ด
การลดขนาดนี้จะเพิ่มโอกาสที่โค้ดที่สำคัญจะยังคงอยู่ในไฟล์ .dex หลัก ซึ่งจะป้องกันไม่ให้เกิดการล้นและช่วยให้การดำเนินการมีประสิทธิภาพมากขึ้นใน Android เวอร์ชันต่างๆ
โดยทั่วไป คุณควรตั้งค่า includeInStartupProfile เป็น true เฉพาะในกรณีทดสอบ
ที่จำเป็นต่อการแสดงผลครั้งแรกของแอป
ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมของโปรไฟล์สตาร์ทอัพ