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 ขึ้นไป แล้วเลือกดู > หน้าต่างเครื่องมือ > เครื่องมือตรวจสอบฐานข้อมูลจากแถบเมนู

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

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

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

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

ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบเกี่ยวกับโปรแกรมจำลอง Android

ใช้โมเดล TensorFlow Lite

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

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

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

โมเดลก่อนการฝึกจำนวนมากพร้อมข้อมูลเมตาจะมีให้ใน 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 สำหรับโดเมนที่เป็นปัญหานอกเหนือจากการจำแนกประเภทรูปภาพและการโอนรูปแบบถูกจำกัด แม้ว่าการนําเข้าควรทํางานได้ดี แต่อินพุตและ/หรือเอาต์พุตของโมเดลบางรายการจะแสดงด้วย TensorBuffers แทนประเภทที่ใช้งานง่าย สำหรับโมเดลที่ไม่มีข้อมูลเมตา อินพุตและเอาต์พุตของโมเดลทั้งหมดจะเป็น TensorBuffers
  • ระบบไม่รองรับโมเดลที่มีประเภทข้อมูลอินพุตและเอาต์พุตแตกต่างจาก DataType.UINT8 หรือ DataType.FLOAT32

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

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

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

ไฟล์บันทึกในเครื่องมือวิเคราะห์หน่วยความจำแบบเนทีฟ

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

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

เครื่องมือวิเคราะห์หน่วยความจำแบบเนทีฟใน Android Studio 4.1 ไม่ทำงานกับอุปกรณ์ Android 11 ขณะนี้การรองรับการสร้างโปรไฟล์อุปกรณ์ Android 11 พร้อมใช้งานในรุ่นตัวอย่าง 4.2"

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

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

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

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

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

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

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

    • ติดตามสถิติเหตุการณ์สำหรับรายการที่เลือกไว้

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

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

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

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

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

เครื่องมือวิเคราะห์โปรไฟล์แบบสแตนด์อโลนพร้อมใช้งานแล้ว

ตอนนี้คุณโปรไฟล์แอปได้โดยไม่ต้องเรียกใช้ IDE ของ Android Studio แบบสมบูรณ์ด้วยเครื่องมือวิเคราะห์โปรไฟล์แบบสแตนด์อโลนใหม่

ดูวิธีการใช้เครื่องมือวิเคราะห์โปรไฟล์แบบสแตนด์อโลนได้ในส่วนเรียกใช้เครื่องมือวิเคราะห์โปรไฟล์แบบสแตนด์อโลน

การรองรับการนำทางของ Dagger

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

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

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

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

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

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

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

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

  • ทรัพยากรสี: ทรัพยากรสีใน 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 แล้ว ซึ่งรวมถึงหน้าต่าง Commit ใหม่ที่เปิดใช้การควบคุมเวอร์ชันและโหมด Zen ใหม่ที่เปิด/ปิดได้ โดยเลือก View > Appearance > Enter Distraction Free Mode

ดูข้อมูลเพิ่มเติมเกี่ยวกับการปรับปรุงในเวอร์ชัน 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 ดูรายละเอียดได้ที่ 1.3.72 Kotlin changelog

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

เมื่อสร้างมุมมองที่กำหนดเอง (เช่น โดยการขยายคลาส 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 ขึ้นไป ตอนนี้คุณสามารถเพิ่มเมธอดแล้วนำไปใช้กับแอปที่ทำงานอยู่ได้โดยคลิกใช้การเปลี่ยนแปลงโค้ด ไอคอนใช้การเปลี่ยนแปลงโค้ด หรือใช้การเปลี่ยนแปลงและเริ่มกิจกรรมอีกครั้ง นำการเปลี่ยนแปลงไปใช้และไอคอนเริ่มกิจกรรมใหม่