กูเกิลเผยแผนอัพเดตรันไทม์ ART 14 ย้อนไปถึง Android 12, ประสิทธิภาพดีขึ้น รันแอพเร็วขึ้นกว่าเดิม

by mk
22 August 2023 - 13:32

ทีมพัฒนา Android ประกาศข้อมูลเกี่ยวกับอัพเดตของ Android Runtime (ART) ระบบรันไทม์ของ Android ที่เริ่มใช้ใน Android Lollipop เวอร์ชันใหม่ (ART 14) ว่าพัฒนาเรื่องความเร็วและการใช้แรมมากกว่าเดิม โดยจะปล่อยอัพเดตย้อนให้อุปกรณ์ที่เป็น Android 12 ขึ้นไป รวมถึงอุปกรณ์ Android Go ราคาถูกด้วย แต่ระยะเวลายังไม่ประกาศชัดว่าเมื่อไร บอกแค่ว่าอีกไม่กี่เดือนข้างหน้า

หน้าที่ของ ART คือการนำแอพ Java/Kotlin ที่ถูกแปลงเป็น bytecode แล้วมารัน ดังนั้นประสิทธิภาพของ ART ย่อมมีผลต่อประสบการณ์ใช้งานของ Android อย่างมาก

กูเกิลเล่าว่าตอนอัพเดต ART 13 ผ่าน Google Play สามารถเพิ่มความเร็วในการเรียกแอพครั้งแรกขึ้นจากเดิมถึง 30% ในอุปกรณ์บางรุ่น การอัพเดตแยกอิสระจาก OS ยังช่วยแก้บั๊กและอุดช่องโหว่ความปลอดภัยได้เร็วขึ้นด้วย

ART 13 ทำงานอยู่บนฟีเจอร์ของ OpenJDK 11 ส่วน ART 14 รองรับฟีเจอร์ของ OpenJDK 17 ที่ทันสมัยกว่า ฟีเจอร์เยอะกว่า รวมถึงปรับปรุงประสิทธิภาพของตอนคอมไพล์และตอนรันให้ดีขึ้น แต่ยังไม่บอกตัวเลขว่าดีขึ้นจากเดิมเท่าไร

อย่างไรก็ตาม เบื้องหลังของการอัพเดต ART นั้นไม่ง่ายและมีความซับซ้อนสูงมาก

ใน Android เวอร์ชันแรกๆ ออกแบบมาเป็นก้อนใหญ่ก้อนเดียว (monolithic) ต้องอัพเดตทีเดียวทั้ง OS ทำให้เกิดปัญหาตามมามากมาย ช่วงหลังกูเกิลจึงแยกส่วน OS เป็นโมดูล ให้อัพเดตชิ้นส่วนย่อยๆ แยกจากกันได้ ซึ่งกรณีของ ART ทำได้ยากเพราะอยู่ไปทุกส่วน จึงต้องกำหนดขอบเขต API ของ OS ให้ชัดเจน แยกโค้ดที่พัวพันกันให้ขาดจากกัน ซึ่งกูเกิลทำอยู่นานและทำสำเร็จแล้วใน Android 14 หลัง refactor ขอบเขตของ Package Manager ที่ใช้ติดตั้งและอัพเดตแอพ

ART เวอร์ชันใหม่จะถูกเก็บในฟอร์แมต Android Pony EXpress (APEX) ที่กูเกิลใช้สำหรับโมดูลระดับล่างของ OS อยู่แล้ว (ข้างในเป็น .img ผสมกับ .json และ .xml) แต่กรณีของ ART มีความซับซ้อนกว่าโมดูล APEX อื่นๆ มากเพราะ API ราว 1/4 ของ Android SDK อยู่ในนี้ แถม ART ยังต้องมีคอมไพลเลอร์สำหรับสร้างไบนารีให้ตรงกับชุดคำสั่งพิเศษของชิปเซ็ตแต่ละรุ่นด้วย การสร้างแพ็กเกจ ART เวอร์ชันเดียวใช้กับทุกอุปกรณ์จึงท้าทายมาก

กูเกิลต้องสร้างชุดทดสอบขึ้นมาใหม่ชื่อ Mainline Test Suite (MTS) เพื่อทดสอบ ART ทั้งตอนคอมไพล์และรัน ทดสอบการทำงานของ API และเก็บสถิติของโค้ดด้วย เป้าหมายของกูเกิลคือ ART เวอร์ชันใหม่ต้องรองรับ API ของ ART เวอร์ชันเดิมทั้งหมด 100% ซึ่งต้องทดสอบในวงกว้างมาก กูเกิลบอกว่ารวบรวมไฟล์ APK ของแอพมา 18 ล้านไฟล์เพื่อมารันทดสอบ ART ตัวใหม่บนอุปกรณ์จำนวนมาก เมื่อทดสอบเสร็จแล้วก็เตรียมปล่อยอัพเดตให้ผู้ใช้กัน

ที่มา - Android Developers Blog

Blognone Jobs Premium