Tags:
Node Thumbnail

ถัดจาก Android Studio 3.4 ที่เพิ่งออกตัวจริงหลังสงกรานต์ กูเกิลก็เปิดตัว Android Studio 3.5 Beta 1 ต่อเนื่องตามาทันทีในงาน Google I/O

ฟีเจอร์เด่นของ Android Studio 3.5 ที่ส่งผลกระทบต่อนักพัฒนาอย่างมาก คือการเปลี่ยนจากระบบคอมไพล์ด่วน Instant Run ตัวเดิม มาเป็นระบบใหม่ Apply Changes ที่มีความแตกต่างกันพอสมควร

No Description

Instant Run

เดิมที Instant Run เป็นฟีเจอร์ที่ช่วยให้กระบวนการแก้โค้ด-คอมไพล์-รันทดสอบ ซึ่งเดิมทีใช้เวลานานกว่าจะเสร็จสิ้นกระบวนการ ใช้รยะเวลาน้อยลง นักพัฒนาสามารถรันแอพค้างไว้ในอีมูเลเตอร์ได้เลยโดยแอพยังมีสถานะ (state) แบบเดิม เทคนิคที่กูเกิลใช้คือ เขียนเนื้อในของไฟล์ APK ใหม่โดยแทรกคลาสที่มีการแก้ไขลงไปในไฟล์เดิม

ข้อจำกัดของเทคนิคนี้คือผลกระทบต่อความเร็วตอนคอมไพล์ และอาจมีความผิดพลาดเกิดขึ้นระหว่างแอพที่รันอยู่และกระบวนการเขียนไฟล์ของ Instant Run

Apply Changes

รอบนี้กูเกิลจึงเปลี่ยนมาใช้ท่าใหม่คือ Apply Changes ที่ไม่ได้แก้เนื้อในของไฟล์ APK แล้ว แต่ใช้วิธีเปรียบเทียบว่าในฟล์ APK ตัวเดิม กับไฟล์ APK ที่คอมไพล์ใหม่มีอะไรแตกต่างกันบ้าง (เปรียบเทียบจากตารางไฟล์ ไม่ได้ทำ diff หรือดู delta ซึ่งใช้เวลานานและเปลืองทรัพยากร)

  • กรณีที่แก้เฉพาะไฟล์ .dex (ซอร์สโค้ดที่ถูกแปลงเป็นไบต์โค้ดแล้ว) รันไทม์ของ Android 8.0 ขึ้นไปจะสามารถสลับเฉพาะไบต์โค้ดส่วนที่เปลี่ยนแปลงได้ทันทีโดยไม่ต้องโหลดแอพใหม่ทั้งตัว (เงื่อนไขคือชื่อเมธอดและคลาสต้องไม่เปลี่ยนด้วย)
  • กรณีที่แก้ไฟล์ asset แอพจะต้องถูกติดตั้งใหม่ทั้งตัว แต่จะรีสตาร์ตเฉพาะส่วน activity เท่านั้น ไม่ต้องรีสตาร์ตแอพทั้งตัว
  • กรณีอื่นๆ เช่น ไฟล์ AndroidManifest.xml หรือไฟล์ .so มีการเปลี่ยนแปลง จะไม่สามารถ hot swap ได้ จำเป็นต้องรีสตาร์ตแอพใหม่ทั้งตัว

รายละเอียดอ่านได้จาก Android Studio Medium

ส่วนฟีเจอร์ใหม่อื่นๆ ใน Android Studio 3.5 อยู่ภายใต้ Project Marble ซึ่งเป็นการปรับจุดเล็กๆ น้อยๆ ของ Android Studio ให้ทำงานดีขึ้น มีประสิทธิภาพดีขึ้น ตอบสนองเร็วขึ้น และมีบั๊กน้อยลง

นอกจากนี้ Android Studio 3.5 ยังสามารถรันบน Chrome OS ได้ตามที่สัญญาไว้ โดยต้องการ Chrome OS เวอร์ชัน 75 ขึ้นไป (Chromebook ต้องเป็นซีพียู x86 ด้วย) ใครที่อยากซื้อ Chromebook มาเขียนแอพ Android ก็สามารถทำได้แล้วอย่างเป็นทางการ

ที่มา - Android Developers, Android Studio Blog, Android Developers Blog

Get latest news from Blognone

Comments

By: panurat2000
ContributorSymbianUbuntuIn Love
on 9 May 2019 - 13:34 #1109102
panurat2000's picture

ต่อเนื่องตามาทันทีในงาน Google I/O

ตามา => ตามมา

ใช้รยะเวลาน้อยลง

รยะ => ระยะ

แต่ใช้วิธีเปรียบเทียบว่าในฟล์ APK ตัวเดิม

ในฟล์ => ในไฟล์