Android Studio 4.1 (สิงหาคม 2020)

Android Studio 4.1 เป็นรุ่นที่สำคัญซึ่งมาพร้อมฟีเจอร์ใหม่ๆ และการปรับปรุงมากมาย

4.1.3 (มีนาคม 2021)

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

4.1.2 (มกราคม 2021)

<p>
  This minor update includes various bug fixes.
  To see a list of notable bug fixes, read the related post on the
  <a href="https://androidstudio.googleblog.com/2021/01/android-studio-412-available.html">
    Release Updates blog</a>.
</p>
<p><b>4.1.1 (November 2020)</b></p>

<p>
  This minor update includes various bug fixes.
  To see a list of notable bug fixes, read the related post on the
  <a href="https://androidstudio.googleblog.com/2020/11/android-studio-411-available.html">
    Release Updates blog</a>.
</p>

เครื่องมือตรวจสอบฐานข้อมูลใหม่

ตรวจสอบ ค้นหา และแก้ไขฐานข้อมูลในแอปที่กำลังทำงานโดยใช้เครื่องมือตรวจสอบฐานข้อมูลใหม่ หากต้องการเริ่มต้นใช้งาน ให้ติดตั้งใช้งานแอปในอุปกรณ์ที่ใช้ API ระดับ 26 ขึ้นไป แล้วเลือกดู > หน้าต่างเครื่องมือ > Database Inspector จากแถบเมนู

ดูข้อมูลเพิ่มเติมได้ที่แก้ไขข้อบกพร่องของฐานข้อมูลด้วย Database Inspector

เรียกใช้โปรแกรมจำลอง Android ใน Android Studio โดยตรง

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

โปรแกรมจำลองที่เปิดในหน้าต่างเครื่องมือใน Android Studio

ดูข้อมูลเพิ่มเติมได้ใน เอกสารประกอบของ Android Emulator

ใช้โมเดล TensorFlow Lite

การเชื่อมโยงโมเดล ML ช่วยให้คุณนำเข้าไฟล์.tfliteโมเดล ได้โดยตรงและใช้ในโปรเจ็กต์ได้อย่างง่ายดาย Android Studio จะสร้างคลาสที่ใช้งานง่าย เพื่อให้คุณเรียกใช้โมเดลด้วยโค้ดที่น้อยลงและมีความปลอดภัยของประเภทที่ดีขึ้น

โมเดลที่รองรับ

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

TensorFlow Hub มีโมเดลที่ฝึกไว้ล่วงหน้าหลากหลายพร้อมข้อมูลเมตา คุณยังเพิ่มข้อมูลเมตาลงในโมเดล TensorFlow Lite ด้วยตนเองได้ตามที่ระบุไว้ใน การเพิ่มข้อมูลเมตาลงในโมเดล TensorFlow Lite

นำเข้าไฟล์โมเดล

หากต้องการนำเข้าไฟล์โมเดลที่รองรับ ให้ทำตามขั้นตอนต่อไปนี้

  1. เปิดกล่องโต้ตอบการนำเข้าโมเดล TensorFlow Lite ในเมนูไฟล์ที่ ไฟล์ > ใหม่ > อื่นๆ > โมเดล TensorFlow Lite
  2. เลือก.tfliteไฟล์โมเดลที่คุณดาวน์โหลดหรือสร้างไว้ก่อนหน้านี้
  3. คลิกเสร็จสิ้น

ซึ่งจะนำเข้าไฟล์โมเดลไปยังโปรเจ็กต์และวางไว้ในโฟลเดอร์ ml/ หากไม่มีไดเรกทอรี Android Studio จะสร้างให้คุณ

นำเข้าโมเดล TensorFlow Lite

ดูข้อมูลเมตาและการใช้งานโมเดล

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

  • โมเดล: คำอธิบายระดับสูงของโมเดล
  • Tensor: คำอธิบายของ Tensor อินพุตและเอาต์พุต
  • โค้ดตัวอย่าง: ตัวอย่างวิธีเชื่อมต่อกับโมเดลในแอป

ตัวอย่างการใช้ mobilenet_v1_0.25_160_quantized.tflite

ดังตัวอย่างที่แสดง Android Studio จะสร้างคลาสชื่อ MobilenetV1025160Quantized สำหรับโต้ตอบกับโมเดล

หากโมเดลไม่มีข้อมูลเมตา หน้าจอนี้จะให้ข้อมูลขั้นต่ำเท่านั้น

ปัญหาที่ทราบและวิธีแก้ปัญหาเบื้องต้น

  • ขณะนี้การรองรับโมเดล TensorFlow Lite สำหรับโดเมนปัญหาอื่นๆ นอกเหนือจากการจัดประเภทรูปภาพและการโอนสไตล์ยังจำกัดอยู่ แม้ว่าการนำเข้าควรจะทำงานได้ดี แต่โมเดลอินพุตและ/หรือเอาต์พุตบางรายการจะแสดงด้วย TensorBuffer แทนที่จะเป็นประเภทที่ใช้งานง่าย สำหรับโมเดลที่ไม่มีข้อมูลเมตา อินพุตและเอาต์พุตทั้งหมดของโมเดลจะเป็น TensorBuffer
  • ระบบไม่รองรับโมเดลที่มีประเภทข้อมูลอินพุตและเอาต์พุตแตกต่างจาก DataType.UINT8 หรือ DataType.FLOAT32

ฟีเจอร์นี้ยังอยู่ระหว่างการพัฒนา โปรดแสดงความคิดเห็นหรือรายงานข้อบกพร่อง

เครื่องมือสร้างโปรไฟล์หน่วยความจำดั้งเดิม

ตอนนี้โปรไฟล์หน่วยความจำของ Android Studio มีโปรไฟล์หน่วยความจำดั้งเดิมสำหรับ แอปที่ติดตั้งใช้งานในอุปกรณ์จริงที่ใช้ Android 10 ขึ้นไปแล้ว Native Memory Profiler ช่วยให้คุณบันทึกการจัดสรรและการยกเลิกการจัดสรรหน่วยความจำ จากโค้ดเนทีฟ และตรวจสอบสถิติสะสมเกี่ยวกับออบเจ็กต์เนทีฟได้

การบันทึกใน Native Memory Profiler

ดูข้อมูลเพิ่มเติมเกี่ยวกับ Native Memory Profiler ได้ที่ ตรวจสอบการใช้หน่วยความจำของแอปด้วย Memory Profiler

ปัญหาที่ทราบและวิธีแก้ปัญหาเบื้องต้น

Native Memory Profiler ใน Android Studio 4.1 ใช้กับอุปกรณ์ Android 11 ไม่ได้ ขณะนี้การรองรับการสร้างโปรไฟล์อุปกรณ์ Android 11 พร้อมให้บริการใน รุ่นตัวอย่าง 4.2"

ตั้งแต่การเปิดตัว 4.1 ครั้งแรกเป็นต้นมา ระบบได้ปิดใช้การสร้างโปรไฟล์การเริ่มต้นแอปแล้ว เราจะเปิดใช้ตัวเลือกนี้ในการเปิดตัวรุ่นถัดไป

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

UI ของการติดตามระบบ: เลือกได้ง่ายขึ้น แท็บการวิเคราะห์ใหม่ และข้อมูลการแสดงผลเฟรมเพิ่มเติม

UI ของการติดตามระบบในโปรไฟล์เลอร์ของ Android Studio มีการปรับปรุงต่อไปนี้

  • การเลือกแบบกรอบ: ในส่วนเธรด ตอนนี้คุณสามารถลากเมาส์เพื่อ เลือกแบบกรอบในพื้นที่สี่เหลี่ยมผืนผ้า ซึ่งคุณสามารถซูมเข้าไปได้โดย คลิกปุ่มซูมไปยังส่วนที่เลือก ปุ่มซูมไปยังส่วนที่เลือกของ Profiler ที่ด้านขวาบน (หรือใช้แป้นพิมพ์ลัด M) เมื่อลาก และวางเธรดที่คล้ายกันไว้ข้างกัน คุณจะเลือกหลายเธรด เพื่อตรวจสอบทั้งหมดพร้อมกันได้ เช่น คุณอาจต้องการ ทําการวิเคราะห์ในหลายเธรดของ Worker

  • แท็บสรุป: แท็บสรุปใหม่ในแผงการวิเคราะห์จะแสดงข้อมูลต่อไปนี้

    • สถิติรวมสําหรับการเกิดเหตุการณ์ที่เฉพาะเจาะจงทั้งหมด เช่น จํานวนการเกิด และระยะเวลาต่ำสุด/สูงสุด

    • สถิติเหตุการณ์การติดตามสําหรับเหตุการณ์ที่เลือก

    • ข้อมูลเกี่ยวกับการกระจายสถานะของเธรด

    • เหตุการณ์การติดตามที่เลือกซึ่งเกิดขึ้นนานที่สุด

    หากต้องการไปยังเหตุการณ์อื่น ให้เลือกแถวอื่นจากตาราง

  • ข้อมูลการแสดงผล: ในส่วนการแสดงผล ไทม์ไลน์ใหม่สำหรับ SurfaceFlinger และ VSYNC จะช่วยให้คุณตรวจสอบปัญหาการแสดงผลใน UI ของแอปได้

ดูวิธีการใช้งานพื้นฐานเกี่ยวกับวิธีบันทึกการติดตามระบบได้ที่ส่วนบันทึกการติดตามของตรวจสอบกิจกรรมของ CPU ด้วย CPU Profiler

Profiler แบบสแตนด์อโลนพร้อมให้บริการแล้ว

Profiler แบบสแตนด์อโลนใหม่ช่วยให้คุณทำโปรไฟล์แอปได้โดยไม่ต้อง เรียกใช้ IDE ของ Android Studio แบบเต็ม

ดูวิธีการใช้โปรไฟล์เลอร์แบบสแตนด์อโลนได้ที่หัวข้อเรียกใช้โปรไฟล์เลอร์แบบสแตนด์อโลน

การรองรับการนำทางด้วย Dagger

การดำเนินการในแถบข้างของ IDE สำหรับการไปยังผู้ใช้และผู้ให้บริการ Dagger

Android Studio ช่วยให้คุณไปยังส่วนต่างๆ ของโค้ดที่เกี่ยวข้องกับ Dagger ได้ง่ายขึ้น ด้วยการดำเนินการใหม่ในแถบด้านข้างและขยายการรองรับในหน้าต่างค้นหาการใช้งาน

  • การดำเนินการใหม่ในแถบด้านข้าง: สำหรับโปรเจ็กต์ที่ใช้ Dagger ทาง IDE จะมีการดำเนินการในแถบด้านข้าง ซึ่งช่วยให้คุณไปยังส่วนต่างๆ ของโค้ดที่ใส่คำอธิบายประกอบ Dagger ได้ เช่น การคลิก การดำเนินการในส่วนขอบข้างเมธอดที่ใช้ประเภทที่กำหนดจะนำคุณไปยัง ผู้ให้บริการของประเภทนั้น ในทางกลับกัน การคลิก การดำเนินการในแถบด้านข้างจะนำคุณไปยังตำแหน่งที่มีการใช้ประเภทเป็น Dependency

  • โหนด "ค้นหาการใช้งาน": เมื่อเรียกใช้ค้นหาการใช้งานในผู้ให้บริการของประเภทที่กำหนด ตอนนี้หน้าต่างค้นหาจะมีโหนดผู้ใช้การอ้างอิงที่แสดง รายการผู้ใช้ของประเภทนั้น ในทางกลับกัน การเรียกใช้การดำเนินการนี้กับผู้ใช้ ของทรัพยากร Dependency ที่แทรกโดย Dagger หน้าต่างค้นหาจะแสดงผู้ให้บริการของ ทรัพยากร Dependency นั้น

คอมโพเนนต์ Material Design: ธีมและสไตล์ที่อัปเดตในเทมเพลตโปรเจ็กต์ใหม่

ภาพเคลื่อนไหว: การสร้างโปรเจ็กต์ใน Android Studio ด้วยพร็อพเพอร์ตี้ Material Design ใหม่

เทมเพลต Android Studio ในกล่องโต้ตอบสร้างโปรเจ็กต์ใหม่จะใช้ Material Design Components (MDC) และเป็นไปตามคำแนะนำที่อัปเดตแล้ว สำหรับธีมและสไตล์โดยค่าเริ่มต้น การอัปเดตมีดังนี้

  • MDC: โปรเจ็กต์ขึ้นอยู่กับ com.google.android.material:material ใน build.gradle ธีมแอปฐานใช้ Theme.MaterialComponents.* หลักและลบล้างสี MDC ที่อัปเดตแล้วและแอตทริบิวต์ "on"

  • แหล่งข้อมูลสี: แหล่งข้อมูลสีใน colors.xml ใช้ชื่อตามตัวอักษร (เช่น purple_500 แทน colorPrimary)

  • แหล่งข้อมูลธีม: แหล่งข้อมูลธีมอยู่ใน themes.xml (แทน styles.xml) และใช้ชื่อ Theme.<var><var>

  • ธีมมืด: ธีมแอปพลิเคชันพื้นฐานใช้ DayNight องค์ประกอบหลักและแบ่งระหว่าง res/values กับ res/values-night

  • แอตทริบิวต์ธีม: ทรัพยากรสีจะอ้างอิงเป็นแอตทริบิวต์ธีม (เช่น ?attr/colorPrimary) ในเลย์เอาต์และ รูปแบบเพื่อหลีกเลี่ยงสีที่ฮาร์ดโค้ด

IntelliJ IDEA 2020.1

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับการปรับปรุงในเวอร์ชัน 2020.1 ได้ที่ IDEA 2020.1

การเปลี่ยนแปลงไดเรกทอรีการกำหนดค่า IDE

เราได้เปลี่ยนตำแหน่งของไดเรกทอรีการกำหนดค่าของผู้ใช้เป็นตำแหน่งต่อไปนี้

Windows

ไวยากรณ์: %APPDATA%\Google&lt;product><version>

ตัวอย่าง: C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudio4.1

macOS

ไวยากรณ์: ~/Library/Application Support/Google/<product><version>

ตัวอย่าง: ~/Library/Application Support/Google/AndroidStudio4.1

Linux

ไวยากรณ์: ~/.config/Google/<product><version>

ตัวอย่าง: ~/.config/Google/AndroidStudio4.1

ตำแหน่งไดเรกทอรีใหม่เหล่านี้สอดคล้องกับการอัปเดตล่าสุดของ IntelliJ IDEA ซึ่งเป็น IDE ที่ Android Studio ใช้เป็นพื้นฐาน

หาก Studio ไม่รีสตาร์ทหลังจากอัปเกรด คุณอาจต้องลบไดเรกทอรีการกำหนดค่าจาก Studio เวอร์ชันก่อนหน้า ดูข้อมูลเพิ่มเติมได้ที่หน้าปัญหาที่ทราบ

Kotlin 1.3.72

Android Studio 4.1 มาพร้อมกับ Kotlin 1.3.72 ซึ่งมีการแก้ไขข้อบกพร่องหลายอย่าง เพื่อปรับปรุงการไฮไลต์ การตรวจสอบ และการเติมโค้ดของ Kotlin ดูรายละเอียดได้ที่บันทึกการเปลี่ยนแปลงของ Kotlin 1.3.72

ตัวอย่างมุมมองที่กำหนดเอง

เมื่อสร้างมุมมองที่กำหนดเอง (เช่น โดยการขยายคลาส View หรือ Button) ตอนนี้ Android Studio จะแสดงตัวอย่างของมุมมองที่กำหนดเองให้คุณเห็น ใช้เมนูแบบเลื่อนลง ในแถบเครื่องมือเพื่อสลับระหว่างมุมมองที่กำหนดเองหลายรายการ หรือคลิกปุ่ม เพื่อแสดงเนื้อหาในแนวตั้งหรือแนวนอน

ดูตัวอย่างมุมมองที่กำหนดเองใน IDE

หมายเหตุ: หากไม่เห็นการเปลี่ยนแปลงในตัวอย่าง ให้เลือกสร้าง > สร้างโปรเจ็กต์จากแถบเมนู

การสร้างสัญลักษณ์สำหรับรายงานข้อขัดข้องของระบบ

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

หากพัฒนาแอปหรือเกมโดยใช้โค้ดแบบเนทีฟ เช่น C++ คุณสามารถอัปโหลด ไฟล์สัญลักษณ์สำหรับการแก้ไขข้อบกพร่องไปยัง Play Console สำหรับแอปแต่ละเวอร์ชันได้แล้ว Play Console จะใช้ไฟล์สัญลักษณ์สำหรับการแก้ไขข้อบกพร่องเหล่านี้เพื่อสร้างสัญลักษณ์ของสแต็กเทรซของแอป ซึ่งจะช่วยให้วิเคราะห์ข้อขัดข้องและ ANR ได้ง่ายขึ้น ดูวิธีอัปโหลดไฟล์สัญลักษณ์การแก้ไขข้อบกพร่องได้ที่การสนับสนุนข้อขัดข้องของระบบ

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

เราได้ทำการปรับปรุงต่อไปนี้ในฟีเจอร์ "ใช้การเปลี่ยนแปลง" สำหรับอุปกรณ์ที่ใช้ Android 11 Developer Preview 3 ขึ้นไป เพื่อช่วยให้คุณทำงานได้อย่างมีประสิทธิภาพมากขึ้นขณะที่ทำการวนซ้ำในแอป

ความเร็วในการติดตั้งใช้งานที่เร็วขึ้น

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับความแตกต่างระหว่างการดำเนินการทั้ง 2 อย่างนี้ได้ที่ ใช้การเปลี่ยนแปลง

การรองรับการเปลี่ยนแปลงโค้ดเพิ่มเติม

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