ฟีเจอร์ใหม่ใน Android Studio Dolphin มีดังนี้
ฟีเจอร์ใหม่ในฟีเจอร์เขียน
ฟีเจอร์ใหม่และการปรับปรุง Jetpack Compose ใน Android Studio มีดังนี้
การประสานงานภาพเคลื่อนไหวของ Compose
หากอธิบายภาพเคลื่อนไหวของคุณไว้ในตัวอย่างที่ใช้ร่วมกันได้ ตอนนี้คุณสามารถใช้ตัวอย่างภาพเคลื่อนไหวเพื่อตรวจสอบและ ประสานงานทั้งหมดพร้อมกันได้แล้ว นอกจากนี้ คุณยังหยุดภาพเคลื่อนไหวบางรายการได้ด้วย
เขียนคำอธิบายประกอบแบบหลายตัวอย่าง
ตอนนี้คุณสามารถกำหนดคลาสคำอธิบายประกอบที่มีคำจำกัดความของตัวอย่างหลายรายการ และใช้คำอธิบายประกอบใหม่นั้นเพื่อสร้างตัวอย่างเหล่านั้นพร้อมกันได้แล้ว ใช้คำอธิบายประกอบใหม่นี้เพื่อดูตัวอย่างอุปกรณ์ แบบอักษร และธีมหลายรายการพร้อมกันโดยไม่ต้องทำซ้ำคำจำกัดความเหล่านั้นสำหรับทุกๆ Composable
จำนวนการจัดองค์ประกอบใหม่ของ Compose ในเครื่องมือตรวจสอบเลย์เอาต์
เมื่อแก้ไขข้อบกพร่องของเลย์เอาต์ Compose การรู้ว่าเมื่อใดที่ Composable จะทำการ Recompose หรือไม่ทำการ Recompose เป็นสิ่งสำคัญในการทำความเข้าใจว่า UI ของคุณใช้งานอย่างถูกต้องหรือไม่ ตัวอย่างเช่น หากมีการเขียนคอมโพสใหม่หลายครั้งเกินไป แอปอาจทำงานมากกว่าที่จำเป็น ในทางกลับกัน คอมโพเนนต์ที่ไม่ประกอบใหม่เมื่อคุณคาดหวังให้เป็นเช่นนั้นอาจทำให้เกิดลักษณะการทำงานที่ไม่คาดคิด
ตอนนี้ Layout Inspector ช่วยให้คุณดูได้ว่าเมื่อใดที่ Composable แบบแยกใน
ลำดับชั้นของเลย์เอาต์มีการ Recompose หรือข้าม ข้อมูลนี้จะแสดงแบบเรียลไทม์ขณะที่คุณโต้ตอบกับแอป หากต้องการเริ่มต้นใช้งาน โปรดตรวจสอบว่าแอปใช้ Compose 1.2.0-alpha03
ขึ้นไป จากนั้นทำให้แอปใช้งานได้ตามปกติ
เปิดหน้าต่างเครื่องมือตรวจสอบเลย์เอาต์และเชื่อมต่อกับ กระบวนการของแอป ในแผนผังคอมโพเนนต์ คุณควรเห็นคอลัมน์ใหม่ 2 คอลัมน์ ปรากฏข้างลำดับชั้นเลย์เอาต์ คอลัมน์แรกแสดงจํานวน องค์ประกอบสําหรับแต่ละโหนด คอลัมน์ที่ 2 แสดงจํานวนการข้าม สําหรับแต่ละโหนด นอกจากนี้ คุณยังดูข้อมูลที่คล้ายกันได้ในแผงแอตทริบิวต์ เมื่อเลือก Composable จากComponent Tree หรือLayout Display
หากต้องการรีเซ็ตจำนวน ให้คลิกรีเซ็ตที่ด้านบนของแผงComponent Tree การรีเซ็ตจำนวนจะช่วยให้คุณเข้าใจการจัดองค์ประกอบใหม่หรือ การข้ามระหว่างการโต้ตอบที่เฉพาะเจาะจงกับแอป
อัปเดตผู้ช่วยการจับคู่โปรแกรมจำลอง Wear OS
ตั้งแต่ Android Studio Dolphin Canary 3 เป็นต้นไป ผู้ช่วยการจับคู่โปรแกรมจำลอง Wear OS ได้รับการปรับปรุงฟีเจอร์ต่างๆ ที่ช่วยให้จัดการและเชื่อมต่อโปรแกรมจำลอง Wear ได้ง่ายขึ้น ตอนนี้คุณทำสิ่งต่อไปนี้ได้แล้ว
- ดูอุปกรณ์ Wear ในตัวจัดการอุปกรณ์
- จับคู่อุปกรณ์ Wear หลายเครื่องกับโทรศัพท์เสมือนหรือโทรศัพท์จริงเครื่องเดียว
- เชื่อมต่ออุปกรณ์ที่จับคู่ไว้ก่อนหน้านี้อีกครั้งโดยอัตโนมัติเมื่อเปิดใช้งาน ตอนนี้ Android Studio จะจดจำและจับคู่ชุดอุปกรณ์ที่จับคู่ล่าสุดอีกครั้ง
หากต้องการใช้ฟีเจอร์ใหม่เหล่านี้ โปรดตรวจสอบว่าโปรแกรมจำลองโทรศัพท์ของคุณมี API ระดับ 30 ขึ้นไปและติดตั้ง Google Play Store แล้ว นอกจากนี้ ตรวจสอบว่าโปรแกรมจำลอง Wear ของคุณเป็น API ระดับ 28 ขึ้นไป หากต้องการอัปเกรดเป็นอิมเมจระบบล่าสุดสำหรับ อุปกรณ์จำลอง ให้ไปที่เครื่องมือ > SDK Manager
ดูข้อมูลเพิ่มเติมได้ที่ใช้ผู้ช่วยการจับคู่โปรแกรมจำลอง Wear OS
แถบเครื่องมือโปรแกรมจำลอง Wear OS ที่อัปเดตแล้ว
ตั้งแต่ Android Studio Dolphin Canary 2 เป็นต้นไป สำหรับโปรแกรมจำลอง Wear ที่มี API ระดับ 28 ขึ้นไป ตอนนี้แถบเครื่องมือของโปรแกรมจำลองมีปุ่มที่จำลองปุ่ม จริงและการดำเนินการทั่วไปในอุปกรณ์แล้ว ปุ่มใหม่ ได้แก่ ปุ่ม 1 และปุ่ม 2 (ปุ่ม 2 ใช้ได้ใน API ระดับ 30 ขึ้นไปเท่านั้น) ปุ่มฝ่ามือ และปุ่มเอียง การดำเนินการบางอย่างที่คุณทำได้โดยใช้ ปุ่มใหม่ในโปรแกรมจำลอง Wear มีดังนี้
- หากต้องการตั้งค่าอุปกรณ์เป็นโหมดแอมเบียนท์ ให้คลิกปุ่มฝ่ามือ
- หากต้องการกลับไปยังหน้าจอล่าสุดที่อุปกรณ์แสดงก่อนเข้าสู่โหมดแอมเบียนท์ ให้คลิกปุ่มเอียง
ดูข้อมูลเพิ่มเติมได้ที่ ดำเนินการทั่วไปในโปรแกรมจำลอง
การกำหนดค่าการเรียกใช้ Wear OS ใหม่
เพิ่มการกำหนดค่าการเรียกใช้ใหม่เพื่อให้เรียกใช้และแก้ไขข้อบกพร่องของ Surface ที่เจาะจงสำหรับ Wear OS ได้อย่างรวดเร็ว เช่น หน้าปัด การ์ด และการแสดงข้อมูลแทรก คุณสร้างการกำหนดค่าใหม่เหล่านี้ได้จากกล่องโต้ตอบการกำหนดค่าการเรียกใช้/การแก้ไขข้อบกพร่อง เมื่อเรียกใช้แอปพลิเคชัน
ดูข้อมูลเพิ่มเติมได้ที่การกำหนดค่าการเรียกใช้/การแก้ไขข้อบกพร่องของ Wear OS
Logcat ใหม่
เราได้อัปเดต Logcat เพื่อให้แยกวิเคราะห์ ค้นหา และติดตามบันทึกได้ง่ายขึ้น
โปรแกรมจัดรูปแบบใหม่
ตอนนี้ Logcat จัดรูปแบบบันทึกเพื่อให้สแกนข้อมูลที่เป็นประโยชน์ได้ง่ายขึ้น เช่น แท็กและข้อความ รวมถึงระบุประเภทบันทึกต่างๆ เช่น คำเตือนและข้อผิดพลาด
สร้างหน้าต่าง Logcat หลายหน้าต่าง
ตอนนี้คุณสามารถสร้างหลายแท็บภายใน Logcat เพื่อสลับระหว่างอุปกรณ์หรือการค้นหาต่างๆ ได้อย่างง่ายดาย การคลิกขวาที่แท็บจะช่วยให้คุณเปลี่ยนชื่อ แท็บได้ และคุณสามารถคลิกและลากเพื่อจัดเรียงแท็บใหม่ได้
นอกจากนี้ เพื่อช่วยให้คุณเปรียบเทียบบันทึก 2 ชุดได้ง่ายขึ้น ตอนนี้คุณสามารถ แยกมุมมองภายในแท็บได้โดยคลิกขวาในมุมมองบันทึก แล้วเลือกแยกไปทางขวาหรือแยกไปด้านล่าง หากต้องการปิดการแยกหน้าจอ ให้คลิกขวาแล้วเลือกปิด การแยกแต่ละครั้งจะช่วยให้คุณตั้งค่าการเชื่อมต่ออุปกรณ์ ตัวเลือกการดู และคำค้นหาของตัวเองได้
สลับระหว่างค่าที่กำหนดล่วงหน้าของมุมมอง
ตอนนี้ Logcat ช่วยให้คุณสลับระหว่างโหมดมุมมองต่างๆ ได้อย่างรวดเร็ว ได้แก่ มาตรฐาน กะทัดรัด และกำหนดเอง โดยคลิก
โหมดการดูแต่ละโหมดมีการตั้งค่าเริ่มต้นที่แตกต่างกัน
เพื่อแสดงข้อมูลมากหรือน้อย เช่น การประทับเวลา แท็ก และรหัสกระบวนการ (PID) นอกจากนี้ คุณยังปรับแต่งโหมดมุมมองเริ่มต้นแต่ละโหมด รวมถึงโหมดมุมมองที่กำหนดเองได้โดยเลือกแก้ไขมุมมอง
การค้นหาคีย์-ค่าใหม่
ใน Logcat เวอร์ชันก่อนหน้า คุณมีตัวเลือกในการใช้การค้นหาสตริง (รองรับนิพจน์ทั่วไป) หรือสร้างตัวกรองใหม่โดยการป้อนข้อมูลในช่องต่างๆ โดยใช้ UI ของ Logcat ตัวเลือกแรกทำให้การค้นหายุ่งยากขึ้น และตัวเลือกที่สองทำให้การแชร์และการตั้งค่าคำค้นหายากขึ้น ตอนนี้เราได้ปรับปรุงประสบการณ์การใช้งานให้ง่ายขึ้นด้วยการเปิดตัวการค้นหาคีย์-ค่าจากช่องคำค้นหาหลักโดยตรง
ระบบการค้นหาใหม่นี้จะให้ความแม่นยำในสิ่งที่คุณต้องการค้นหาโดยไม่ต้องอาศัยนิพจน์ทั่วไป พร้อมความสามารถในการเรียกคืนการค้นหาที่ผ่านมาในประวัติ และแชร์การค้นหากับผู้อื่น นอกจากนี้ คุณยังคงมีตัวเลือกในการใช้ นิพจน์ทั่วไปและยกเว้นบันทึกตามคีย์-ค่าได้ด้วย ต่อไปนี้คือตัวอย่างวิธี ใช้ระบบการค้นหาใหม่ แต่คุณก็เริ่มพิมพ์ในช่องการค้นหา เพื่อดูคำแนะนำได้เช่นกัน
- PID สำหรับโปรเจ็กต์แอปในเครื่อง:
package:mine
- ค่าที่เฉพาะเจาะจง
package:<package-ID>
tag:<tag>
level:[VERBOSE | INFO | ASSERT |DEBUG | WARN | ERROR ]
- ยกเว้นค่าที่เฉพาะเจาะจงโดยใส่
-
ไว้หน้าคีย์-tag:<exclude-tag>
- ใช้นิพจน์ทั่วไปกับคีย์ที่ระบุโดยวาง
~
หลังคีย์tag~:<regular-expression-tag>
- รวมกับแท็กยกเว้น:
-tag~:<exclude-regular-expression-tag>
นอกจากนี้ คุณยังดูประวัติการค้นหาได้โดยคลิก
ในช่องคำค้นหา แล้วเลือกจากเมนูแบบเลื่อนลง หากต้องการเพิ่มคําค้นหาลงในรายการโปรดเพื่อให้คําค้นหาอยู่ด้านบนสุดของรายการในโปรเจ็กต์ Studio ทั้งหมด ให้คลิก
ที่ท้ายช่องคําค้นหา
ติดตามบันทึกในกรณีที่แอปขัดข้อง/รีสตาร์ท
ตอนนี้ Logcat ใหม่ช่วยให้ติดตามบันทึกจากแอปได้ง่ายขึ้นเมื่อแอปขัดข้องและรีสตาร์ท เพื่อให้คุณไม่พลาดบันทึกที่สำคัญในเหตุการณ์เหล่านี้
เมื่อ Logcat สังเกตเห็นว่ากระบวนการของแอปหยุดทำงานและรีสตาร์ท คุณจะเห็น
ข้อความในเอาต์พุต เช่น PROCESS ENDED
และ PROCESS STARTED
ดังที่แสดง
ด้านล่าง
นอกจากนี้ การรีสตาร์ท Logcat ยังคงการกำหนดค่าเซสชันไว้ เช่น การแยกแท็บ ตัวกรอง และตัวเลือกการดู เพื่อให้คุณดำเนินการต่อในเซสชันได้อย่างง่ายดาย
อุปกรณ์ที่มีการจัดการจาก Gradle
เราขอแนะนำอุปกรณ์ที่ Gradle จัดการเพื่อปรับปรุงความสอดคล้อง ประสิทธิภาพ และความน่าเชื่อถือเมื่อใช้อุปกรณ์เสมือน Android สำหรับการทดสอบที่มีการตรวจสอบอัตโนมัติ ฟีเจอร์นี้พร้อมใช้งานสำหรับ API ระดับ 27 ขึ้นไป ช่วยให้คุณกำหนดค่าอุปกรณ์ทดสอบเสมือนในไฟล์ Gradle ของโปรเจ็กต์ได้ ระบบบิลด์ใช้การกำหนดค่าเพื่อจัดการอุปกรณ์เหล่านั้นอย่างเต็มรูปแบบ กล่าวคือ สร้าง ติดตั้งใช้งาน และหยุดทำงาน เมื่อเรียกใช้การทดสอบอัตโนมัติ
ฟีเจอร์นี้ช่วยให้ Gradle มองเห็นได้ไม่เพียงแต่การทดสอบที่คุณเรียกใช้ แต่ยังรวมถึงวงจรของอุปกรณ์ด้วย ซึ่งจะช่วยปรับปรุงคุณภาพของ ประสบการณ์การทดสอบในลักษณะต่อไปนี้
- จัดการปัญหาเกี่ยวกับอุปกรณ์เพื่อให้แน่ใจว่าการทดสอบจะดำเนินการได้
- ใช้ภาพรวมของโปรแกรมจำลองเพื่อปรับปรุงเวลาเริ่มต้นของอุปกรณ์และการใช้งานหน่วยความจำ รวมถึงกู้คืนอุปกรณ์ให้อยู่ในสถานะสะอาดระหว่างการทดสอบ
- แคชผลการทดสอบและเรียกใช้เฉพาะการทดสอบที่มีแนวโน้มว่าจะให้ผลลัพธ์ที่แตกต่างกัน
- มอบสภาพแวดล้อมที่สอดคล้องกันสำหรับการเรียกใช้การทดสอบระหว่างการทดสอบในเครื่องกับการทดสอบระยะไกล
นอกจากนี้ อุปกรณ์ที่ Gradle จัดการยังเปิดตัวอุปกรณ์จำลองประเภทใหม่ ที่เรียกว่าอุปกรณ์ทดสอบอัตโนมัติ (ATD) ซึ่งได้รับการเพิ่มประสิทธิภาพเพื่อปรับปรุง ประสิทธิภาพเมื่อเรียกใช้การทดสอบเครื่องมือ เมื่อใช้ร่วมกับการรองรับการแบ่งการทดสอบ คุณจะทดลองแยกชุดการทดสอบ ในอินสแตนซ์ ATD หลายรายการเพื่อลดเวลาในการดำเนินการทดสอบโดยรวมได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับอุปกรณ์ที่มีการจัดการจาก Gradle และฟีเจอร์ที่เกี่ยวข้องได้ที่ ขยายขนาดการทดสอบด้วยอุปกรณ์ที่มีการจัดการจาก Gradle
รองรับ R8 โดยใช้ไฟล์การแมปตามออฟเซ็ตของคำสั่ง DEX
เมื่อเพิ่มประสิทธิภาพข้อมูลบรรทัด ตอนนี้ R8 สามารถเข้ารหัสข้อมูลในออบเจ็กต์ข้อมูลการแก้ไขข้อบกพร่องที่แชร์ ด้วยตารางบรรทัดตามออฟเซ็ตของคำสั่งได้แล้ว ซึ่งจะช่วยลดค่าใช้จ่ายของข้อมูลบรรทัดได้อย่างมาก ผลลัพธ์คือบรรทัด ในเมธอดจะไม่ต่อเนื่องอีกต่อไป แต่อาจข้ามไปตามช่วงเวลา ทั้งนี้ขึ้นอยู่กับ ขนาดของคำสั่ง โปรดทราบว่าเครื่องมือบางอย่างไม่ถือว่าการเข้ารหัสนี้เป็นการเข้ารหัสที่ใช้ร่วมกัน
นอกจากนี้ VM ของ Android ตั้งแต่ O (API ระดับ 26) ยังรองรับการพิมพ์ออฟเซ็ตคำสั่ง ใน Stack Trace หากเมธอดไม่มีข้อมูลหมายเลขบรรทัด เมื่อคอมไพล์ด้วย minSdk 26 ขึ้นไปและไม่มีข้อมูลไฟล์แหล่งที่มา R8 จะลบข้อมูลหมายเลขบรรทัดออกทั้งหมด
ระบบจะไม่แปลงแลมบ์ดาแบบไม่มีสถานะเป็นซิงเกิลตันอีกต่อไป
ระบบจะไม่จัดสรร Lambda แบบไม่เก็บสถานะเป็น Singleton อีกต่อไปเมื่อทำการ Desugar การแสดงเป็น Singleton จะเพิ่มค่าใช้จ่ายในการเพิ่มขนาดโค้ดเนื่องจากมีการเพิ่มฟิลด์และ ตัวเริ่มต้นคลาส รวมถึงค่าใช้จ่ายในการเริ่มต้นเนื่องจากการเริ่มต้นคลาสแบบคงที่ ตอนนี้ระบบจะจัดสรร Lambda แบบไม่เก็บสถานะที่เว็บไซต์ที่ใช้ในลักษณะเดียวกับ Lambda แบบเก็บสถานะ (Lambda ที่มีการจับภาพ)
R8 หลีกเลี่ยงการชะลอตัวของการยืนยันในรันไทม์ของ Android
ตอนนี้ R8 (ไม่ใช่ D8) ได้เปิดตัว Stub ของไลบรารีและการเรียกแบบร่างไปยังเมธอดของไลบรารีสำหรับคลาสและเมธอดของไลบรารีที่อาจไม่มีอยู่ขณะรันไทม์ เพื่อขจัดปัญหาด้านประสิทธิภาพในรันไทม์ของ Android (Dalvik และ ART) การดำเนินการนี้จะช่วยขจัดปัญหาการยืนยันหลายอย่างและปรับปรุงประสิทธิภาพรันไทม์ ฟีเจอร์นี้จะเปิดใช้ อยู่เสมอ
การรองรับ API ของ JDK-11 ด้วยการยกเลิกการเพิ่มน้ำตาลไวยากรณ์ของ Java 8+ API
เมื่อใช้การขึ้นต่อกัน coreLibraryDesugaring ตอนนี้มีการรองรับไลบรารีการใช้งานที่อิงตาม JDK-11 แล้ว ดูข้อมูลเพิ่มเติมได้ที่desugar_jdk_libs
บันทึกการเปลี่ยนแปลง
การเผยแพร่แพตช์
รายการการเผยแพร่แพตช์ใน Android Studio Dolphin มีดังนี้
Android Studio Dolphin | 2021.3.1 แพตช์ 1 (ตุลาคม 2022)
การเปิดตัว Patch 1 ทำให้ Android Studio Dolphin รองรับปลั๊กอิน Kotlin 1.7.20 แล้ว การอัปเดตเล็กๆ น้อยๆ นี้ยังรวมถึงการแก้ไขข้อบกพร่องต่อไปนี้ด้วย
ปัญหาที่แก้ไขแล้ว | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ปลั๊กอิน Android Gradle |
|
||||||||||||
Dexer (D8) |
|
||||||||||||
นำเข้า/ซิงค์ |
|
||||||||||||
แหล่งข้อมูล |
|
||||||||||||
Shrinker (R8) |
|