Android Studio 3.5 (สิงหาคม 2019)

Android Studio 3.5 เป็นรุ่นหลักและเป็นผลลัพธ์ของ Project Marble โดยเริ่มตั้งแต่การเปิดตัว Android Studio 3.3 เป็นต้นมา โครงการริเริ่ม Project Marble ได้ครอบคลุมการเปิดตัวหลายรุ่นที่มุ่งเน้น การปรับปรุง 3 ด้านหลักของ IDE ได้แก่ การทำงานที่มีประสิทธิภาพของระบบ, การปรับปรุงฟีเจอร์ และการแก้ไขข้อบกพร่อง

ดูข้อมูลเกี่ยวกับการอัปเดต Project Marble เหล่านี้และอื่นๆ ได้ใน บล็อกโพสต์ของนักพัฒนาแอป Android หรือในส่วนด้านล่าง

นอกจากนี้ เราขอขอบคุณผู้ร่วมให้ข้อมูลในชุมชนทุกคนที่ช่วยในการเปิดตัวรุ่นนี้

3.5.3 (ธันวาคม 2019)

การอัปเดตย่อยนี้มีการแก้ไขข้อบกพร่องต่างๆ และการปรับปรุงประสิทธิภาพ

3.5.2 (พฤศจิกายน 2019)

การอัปเดตย่อยนี้มีการแก้ไขข้อบกพร่องต่างๆ และการปรับปรุงประสิทธิภาพ หากต้องการดูรายการการแก้ไขข้อบกพร่องที่สำคัญ โปรดอ่านโพสต์ที่เกี่ยวข้องในบล็อกการอัปเดตการเปิดตัว

3.5.1 (ตุลาคม 2019)

การอัปเดตย่อยนี้มีการแก้ไขข้อบกพร่องต่างๆ และการปรับปรุงประสิทธิภาพ หากต้องการดูรายการการแก้ไขข้อบกพร่องที่สำคัญ โปรดอ่านโพสต์ที่เกี่ยวข้องในบล็อกการอัปเดตการเปิดตัว

Project Marble: การทำงานที่มีประสิทธิภาพของระบบ

ส่วนนี้อธิบายการเปลี่ยนแปลงใน Android Studio 3.5 ที่มุ่งเน้นการปรับปรุงการทำงานที่มีประสิทธิภาพของระบบ

การตั้งค่าหน่วยความจำที่แนะนำ

ตอนนี้ Android Studio จะแจ้งให้คุณทราบหากตรวจพบว่าคุณสามารถปรับปรุงประสิทธิภาพ ได้โดยการเพิ่ม RAM สูงสุดที่ระบบปฏิบัติการควรจัดสรรให้กับกระบวนการของ Android Studio เช่น IDE หลัก, Gradle Daemon และ Kotlin Daemon คุณ สามารถยอมรับการตั้งค่าที่แนะนำได้โดยคลิกลิงก์การดำเนินการในการ แจ้งเตือน หรือปรับการตั้งค่าเหล่านี้ด้วยตนเองโดยเลือก ไฟล์ > การตั้งค่า (หรือ Android Studio > ค่ากำหนด ใน macOS) แล้วค้นหาส่วน การตั้งค่าหน่วยความจำ ใน ลักษณะที่ปรากฏ & ลักษณะการทำงาน > การตั้งค่าระบบ ดูข้อมูลเพิ่มเติมได้ที่ ดู ขนาดฮีปสูงสุด

การแจ้งเตือนเกี่ยวกับการตั้งค่าหน่วยความจำที่แนะนำ

การแจ้งเตือนเกี่ยวกับการตั้งค่าหน่วยความจำที่แนะนำ

รายงานการใช้งานหน่วยความจำ

บางครั้งปัญหาเกี่ยวกับหน่วยความจำใน Android Studio ก็ทำซ้ำและ รายงานได้ยาก Android Studio จึงให้คุณสร้างรายงานการใช้งานหน่วยความจำ ได้โดยคลิก ความช่วยเหลือ > วิเคราะห์การใช้งานหน่วยความจำ จากแถบเมนู เพื่อช่วยแก้ปัญหานี้ เมื่อ คุณทำเช่นนั้น IDE จะปรับแต่งข้อมูลในเครื่องเพื่อปกปิดข้อมูลส่วนบุคคลก่อน ที่จะถามว่าคุณต้องการส่งข้อมูลดังกล่าวไปยังทีม Android Studio เพื่อช่วยระบุ แหล่งที่มาของปัญหาเกี่ยวกับหน่วยความจำหรือไม่ ดูข้อมูลเพิ่มเติมได้ที่เรียกใช้รายงานการใช้งานหน่วยความจำ report

รายงานการใช้งานหน่วยความจำ

รายงานการใช้งานหน่วยความจำ

Windows: การเพิ่มประสิทธิภาพ I/O ของไฟล์ในโปรแกรมป้องกันไวรัส

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

Project Marble: การปรับปรุงฟีเจอร์

ส่วนนี้อธิบายการเปลี่ยนแปลงใน Android Studio 3.5 ที่มุ่งเน้นการ ปรับปรุงฟีเจอร์ที่มีอยู่

ใช้การเปลี่ยนแปลง

ฟีเจอร์ "ใช้การเปลี่ยนแปลง" ช่วยให้คุณพุชการเปลี่ยนแปลงโค้ดและทรัพยากรไปยังแอปที่กําลังทํางานได้ โดยไม่ต้องรีสตาร์ทแอป และในบางกรณีก็ไม่ต้องรีสตาร์ทกิจกรรมปัจจุบันด้วย "ใช้การเปลี่ยนแปลง" จะใช้แนวทางใหม่ทั้งหมดในการรักษา สถานะของแอป ฟีเจอร์ใช้การเปลี่ยนแปลงจะกำหนดคลาสใหม่ได้ทันทีโดยใช้ประโยชน์จากการตรวจสอบรันไทม์ที่รองรับใน Android 8.0 (API ระดับ 26) ขึ้นไป ซึ่งแตกต่างจาก Instant Run ที่เขียนไบต์โค้ดของ APK ใหม่

ดูข้อมูลเพิ่มเติมได้ที่ใช้การเปลี่ยนแปลง

ปุ่มในแถบเครื่องมือสำหรับฟีเจอร์ "ใช้การเปลี่ยนแปลง"

ปุ่มในแถบเครื่องมือสำหรับฟีเจอร์ "ใช้การเปลี่ยนแปลง"

ขั้นตอนการติดตั้งใช้งานแอป

IDE มีเมนูแบบเลื่อนลงใหม่ที่ช่วยให้คุณเลือกอุปกรณ์ที่ต้องการติดตั้งใช้งานแอปได้อย่างรวดเร็ว นอกจากนี้ เมนูนี้ยังมีตัวเลือกใหม่ที่ช่วยให้คุณ เรียกใช้แอปในอุปกรณ์หลายเครื่องพร้อมกันได้

เมนูแบบเลื่อนลงของอุปกรณ์เป้าหมาย

เมนูแบบเลื่อนลงของอุปกรณ์เป้าหมาย

ปรับปรุงการซิงค์ Gradle และการตรวจหาแคช

ตอนนี้ IDE จะตรวจหาได้ดีขึ้นเมื่อ Gradle ล้างแคชการบิลด์เป็นระยะๆ เพื่อ ลดการใช้ฮาร์ดดิสก์ ในเวอร์ชันก่อนหน้า สถานะนี้ทำให้ IDE รายงานการขึ้นต่อกันที่ขาดหายไปและทำให้การซิงค์ Gradle ไม่สำเร็จ ตอนนี้ IDE จะดาวน์โหลดทรัพยากร Dependency ตามที่จำเป็นเพื่อให้การซิงค์ Gradle เสร็จสมบูรณ์ เรียบร้อยแล้ว

ปรับปรุงเอาต์พุตข้อผิดพลาดในการบิลด์

ตอนนี้หน้าต่างบิลด์ ไอคอนหน้าต่างบิลด์ มีการรายงานข้อผิดพลาดที่ดีขึ้น เช่น ลิงก์ไปยังไฟล์และบรรทัด ของข้อผิดพลาดที่รายงาน สำหรับกระบวนการบิลด์ต่อไปนี้

  • การคอมไพล์และการลิงก์ AAPT
  • R8 และ ProGuard
  • Dexing
  • การผสานทรัพยากร
  • การแยกวิเคราะห์ไฟล์ XML
  • การคอมไพล์ Javac, Kotlinc และ CMake

การอัปเกรดโปรเจ็กต์

ปรับปรุงประสบการณ์การอัปเดตเพื่อให้ข้อมูลและการดำเนินการเพิ่มเติมเพื่อช่วยคุณ อัปเดต IDE และปลั๊กอิน Android Gradle เช่น ข้อผิดพลาดในการซิงค์และบิลด์เพิ่มเติม รวมถึงการดำเนินการที่จะช่วยลดข้อผิดพลาดเมื่ออัปเดต

โปรดทราบว่าคุณสามารถอัปเดต IDE แยกจากคอมโพเนนต์อื่นๆ ได้ เช่น ปลั๊กอิน Android Gradle ดังนั้น คุณจึงอัปเดต IDE ได้อย่างปลอดภัยทันทีที่เวอร์ชันใหม่กว่าพร้อมใช้งาน และอัปเดตคอมโพเนนต์อื่นๆ ในภายหลัง

เครื่องมือสร้างเลย์เอาต์

Android Studio 3.5 มีการปรับปรุงหลายอย่างเกี่ยวกับการแสดงภาพเลย์เอาต์ การจัดการ และการโต้ตอบ

เมื่อทำงานกับ ConstraintLayout ส่วนข้อจำกัดใหม่ในแผงแอตทริบิวต์จะแสดงความสัมพันธ์ของข้อจำกัดของ คอมโพเนนต์ UI ที่เลือก คุณเลือกข้อจำกัดได้จากทั้งพื้นที่ออกแบบ หรือจากรายการข้อจำกัดเพื่อไฮไลต์ข้อจำกัดในทั้ง 2 พื้นที่

ความสัมพันธ์ของข้อจำกัดสำหรับองค์ประกอบ UI ที่เลือก

ความสัมพันธ์ของข้อจำกัดสำหรับองค์ประกอบ UI ที่เลือก

ในทำนองเดียวกัน ตอนนี้คุณสามารถลบข้อจำกัดได้โดยเลือกข้อจำกัดแล้วกดปุ่ม Delete นอกจากนี้ คุณยังลบข้อจำกัดได้โดยกดปุ่ม Control ค้างไว้ (Command ใน macOS) แล้วคลิกจุดยึดข้อจำกัด โปรดทราบว่าเมื่อคุณกดปุ่ม Control หรือ Command ค้างไว้แล้ววางเมาส์เหนือจุดยึด ข้อจำกัดที่เชื่อมโยง จะเปลี่ยนเป็นสีแดงเพื่อระบุว่าคุณคลิกเพื่อลบข้อจำกัดเหล่านั้นได้

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

ภาพเคลื่อนไหวแสดงวิธีใช้วิดเจ็ตข้อจำกัดเพื่อสร้าง
            ข้อจำกัด

การใช้วิดเจ็ตข้อจำกัดเพื่อสร้างข้อจำกัด

เมื่อสร้างข้อจำกัด ตอนนี้เครื่องมือสร้างเลย์เอาต์จะแสดงเฉพาะจุดยึดที่มีสิทธิ์ ซึ่งคุณสามารถจำกัดได้ ก่อนหน้านี้เครื่องมือสร้างเลย์เอาต์จะไฮไลต์จุดยึดทั้งหมด ในทุกมุมมอง ไม่ว่าคุณจะจำกัดจุดยึดเหล่านั้นได้หรือไม่ก็ตาม นอกจากนี้ ตอนนี้การวางซ้อนสีน้ำเงินจะไฮไลต์เป้าหมายของข้อจํากัด การไฮไลต์นี้มีประโยชน์อย่างยิ่งเมื่อพยายามจำกัดให้เหลือเฉพาะคอมโพเนนต์ที่ซ้อนทับกับคอมโพเนนต์อื่น

ภาพเคลื่อนไหวแสดงวิธีสร้างข้อจํากัดสําหรับคอมโพเนนต์ที่ซ้อนทับกัน
            ใน Android Studio 3.4

การสร้างข้อจำกัดสำหรับคอมโพเนนต์ที่ซ้อนทับกันใน Android Studio 3.4

ภาพเคลื่อนไหวแสดงวิธีสร้างข้อจํากัดสําหรับคอมโพเนนต์ที่ซ้อนทับกัน
            ใน Android Studio 3.5

การสร้างข้อจำกัดสำหรับคอมโพเนนต์ที่ซ้อนทับกันใน Android Studio 3.5

นอกจากข้อมูลอัปเดตข้างต้นแล้ว Android Studio 3.5 ยังมีการปรับปรุงเครื่องมือสร้างเลย์เอาต์ดังต่อไปนี้ด้วย

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงเหล่านี้ได้ที่ Project Marble ของ Android Studio: เครื่องมือสร้างเลย์เอาต์

การเชื่อมโยงข้อมูล

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

ภาพเคลื่อนไหวแสดงประสิทธิภาพของตัวแก้ไขโค้ดใน Android Studio
            3.4

ประสิทธิภาพของตัวแก้ไขโค้ดใน Android Studio 3.4

ภาพเคลื่อนไหวแสดงประสิทธิภาพของตัวแก้ไขโค้ดใน Android Studio
            3.5

ปรับปรุงประสิทธิภาพการแก้ไขโค้ดใน Android Studio 3.5

ปรับปรุงการรองรับโปรเจ็กต์ C/C++

Android Studio 3.5 มีการเปลี่ยนแปลงหลายอย่างที่ปรับปรุงการรองรับโปรเจ็กต์ C/C++

การปรับปรุงแผงตัวแปรบิลด์สำหรับการซิงค์ตัวแปรเดียว

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

ดูข้อมูลเพิ่มเติมได้ที่เปลี่ยนตัวแปรบิลด์

แผงตัวแปรบิลด์แสดงการเลือกรูปแบบเดียวตาม ABI

แผงตัวแปรบิลด์ที่มีการเลือกรูปแบบเดียวตาม ABI

NDK เวอร์ชันต่างๆ ที่ใช้ร่วมกันได้

ตอนนี้คุณใช้ NDK หลายเวอร์ชันร่วมกันได้แล้ว ฟีเจอร์นี้ช่วยให้คุณมีความยืดหยุ่นมากขึ้นเมื่อกำหนดค่าโปรเจ็กต์ เช่น หากคุณมีโปรเจ็กต์ที่ใช้ NDK เวอร์ชันต่างๆ ในเครื่องเดียวกัน

หากโปรเจ็กต์ใช้ปลั๊กอิน Android Gradle 3.5.0 ขึ้นไป คุณยังระบุ เวอร์ชันของ NDK ที่แต่ละโมดูลในโปรเจ็กต์ควรใช้ได้ด้วย คุณสามารถใช้ ฟีเจอร์นี้เพื่อสร้างบิลด์ที่ทำซ้ำได้และลดปัญหาความไม่เข้ากัน ระหว่าง NDK เวอร์ชันต่างๆ กับปลั๊กอิน Android Gradle

ดูข้อมูลเพิ่มเติมได้ที่ติดตั้งและกำหนดค่า NDK, CMake และ LLDB

การรองรับ ChromeOS

ตอนนี้ Android Studio รองรับอุปกรณ์ ChromeOS อย่างเป็นทางการแล้ว เช่น HP Chromebook x360 x360 14, Acer Chromebook 13/Spin 13 และอุปกรณ์อื่นๆ ที่คุณอ่าน ได้ใน ข้อกำหนดของระบบ หากต้องการเริ่มต้นใช้งาน ให้ดาวน์โหลด Android Studio ในอุปกรณ์ ChromeOS ที่เข้ากันได้ แล้วทำตามวิธีการติดตั้ง

หมายเหตุ: ขณะนี้ Android Studio ใน ChromeOS รองรับการติดตั้งใช้งานแอปกับ อุปกรณ์ฮาร์ดแวร์ที่เชื่อมต่อเท่านั้น ดูข้อมูลเพิ่มเติมได้ที่ เรียกใช้แอปในอุปกรณ์ฮาร์ดแวร์

การนำส่งแบบมีเงื่อนไขสำหรับโมดูลฟีเจอร์

การนำส่งแบบมีเงื่อนไขช่วยให้คุณกำหนดข้อกำหนดการกำหนดค่าอุปกรณ์บางอย่าง เพื่อให้ระบบดาวน์โหลดโมดูลฟีเจอร์โดยอัตโนมัติระหว่างการติดตั้งแอปได้ เช่น คุณสามารถกำหนดค่าโมดูลฟีเจอร์ที่มี ฟังก์ชันการทำงานสำหรับ Augmented Reality (AR) ให้พร้อมใช้งานเมื่อติดตั้งแอปสำหรับอุปกรณ์ที่รองรับ AR เท่านั้น

ปัจจุบันกลไกการนำส่งนี้รองรับการควบคุมการดาวน์โหลดโมดูล เมื่อติดตั้งแอปตามการกำหนดค่าอุปกรณ์ต่อไปนี้

  • ฟีเจอร์ฮาร์ดแวร์และซอฟต์แวร์ของอุปกรณ์ รวมถึงเวอร์ชัน OpenGL ES
  • ประเทศของผู้ใช้
  • ระดับ API

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

IntelliJ IDEA 2019.1

IDE หลักของ Android Studio ได้รับการอัปเดตด้วยการปรับปรุงจาก IntelliJ IDEA ผ่านการเปิดตัวเวอร์ชัน 2019.1 เช่น การปรับแต่งธีม

IntelliJ เวอร์ชันสุดท้ายที่รวมอยู่ใน Android Studio คือเวอร์ชัน 2018.3.4 ดูข้อมูลเพิ่มเติมเกี่ยวกับการปรับปรุงจาก IntelliJ เวอร์ชันอื่นๆ ที่รวมอยู่สะสมกับการเปิดตัว Android Studio เวอร์ชันนี้ได้ที่การอัปเดตการแก้ไขข้อบกพร่องต่อไปนี้

การอัปเดตปลั๊กอิน Android Gradle 3.5.0

ดูข้อมูลเกี่ยวกับฟีเจอร์ใหม่ในปลั๊กอิน Android Gradle 3.5.0 เช่น การรองรับการประมวลผลคำอธิบายประกอบแบบเพิ่มทีละรายการและการทำ Unit Test ที่แคชได้ที่บันทึกประจำรุ่น

ผู้ร่วมให้ข้อมูลในชุมชน

ขอขอบคุณผู้ร่วมให้ข้อมูลในชุมชนทุกคนที่ช่วยเราค้นพบข้อบกพร่อง และวิธีอื่นๆ ในการปรับปรุง Android Studio 3.5 โดยเฉพาะอย่างยิ่ง เราขอขอบคุณ บุคคลต่อไปนี้ที่รายงานข้อบกพร่อง P0 และ P1