Android Studio 3.3 (มกราคม 2019)

Android Studio 3.3 เป็นรุ่นหลักที่มีฟีเจอร์ใหม่ๆ และการปรับปรุงมากมาย

3.3.2 (มีนาคม 2019)

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

3.3.1 (กุมภาพันธ์ 2019)

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

IntelliJ IDEA 2018.2.2

เราได้อัปเดต IDE หลักของ Android Studio ด้วยการปรับปรุงจาก IntelliJ IDEA ผ่านรุ่น 2018.2.2

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

ดูข้อมูลเกี่ยวกับฟีเจอร์ใหม่ในปลั๊กอิน Android Gradle ได้ที่บันทึกประจำรุ่น

ตัวแก้ไขการนำทางช่วยให้คุณเห็นภาพและสร้างการนำทางในแอปได้อย่างรวดเร็วโดยใช้คอมโพเนนต์สถาปัตยกรรมการนำทาง

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

ลบไดเรกทอรี Android Studio ที่ไม่ได้ใช้

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

ไดเรกทอรีที่ Android Studio พิจารณาที่จะลบมีดังนี้

  • Linux: ~/.AndroidStudio[Preview]X.Y
  • Mac: ~/Library/{Preferences, Caches, Logs, Application Support}/AndroidStudio[Preview]X.Y
  • Windows: %USER%.AndroidStudio[Preview]X.Y

การปรับปรุง Lint

เมื่อเรียกใช้จาก Gradle, Lint จะเร็วกว่ามาก โปรเจ็กต์ขนาดใหญ่สามารถคาดหวังให้ Lint ทำงานได้เร็วขึ้นถึง 4 เท่า

วิซาร์ดสร้างโปรเจ็กต์ใหม่

วิซาร์ดสร้างโปรเจ็กต์ใหม่มีรูปลักษณ์ใหม่และมีการอัปเดตที่จะช่วย เพิ่มประสิทธิภาพการสร้างโปรเจ็กต์ Android Studio ใหม่

ดูข้อมูลเพิ่มเติมได้ที่สร้างโปรเจ็กต์

การอัปเดต Profiler

Android Studio 3.3 มีการอัปเดตโปรไฟล์เลอร์แต่ละรายการหลายรายการ

ประสิทธิภาพเพิ่มขึ้น

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

ตัวเลือกการติดตามการจัดสรรหน่วยความจำของ Profiler

ตอนนี้ Memory Profiler จะสุ่มตัวอย่างการจัดสรรหน่วยความจำเป็นระยะๆ โดยค่าเริ่มต้นเพื่อปรับปรุงประสิทธิภาพของแอปขณะทำการโปรไฟล์ หากต้องการ คุณสามารถเปลี่ยนลักษณะการทำงานนี้ได้โดยใช้เมนูแบบเลื่อนลงการติดตามการจัดสรรเมื่อทดสอบในอุปกรณ์ที่ใช้ Android 8.0 (API ระดับ 26) ขึ้นไป

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

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

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

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

    การติดตามจะส่งผลต่อทั้งออบเจ็กต์ Java และการอ้างอิง JNI

ตรวจสอบข้อมูลการแสดงผลเฟรม

ใน CPU Profiler ตอนนี้คุณสามารถตรวจสอบระยะเวลาที่แอป Java ใช้ในการแสดงผลแต่ละเฟรมในเทรด UI หลักและ RenderThread ได้แล้ว ข้อมูลนี้อาจมีประโยชน์เมื่อตรวจสอบคอขวดที่ ทำให้ UI กระตุกและมีอัตราเฟรมต่ำ ตัวอย่างเช่น เฟรมแต่ละเฟรมที่ใช้เวลานานกว่า 16 มิลลิวินาทีที่จำเป็นต่อการรักษาอัตราเฟรมที่ราบรื่นจะแสดงเป็นสีแดง

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

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

ส่วนในไทม์ไลน์ของเหตุการณ์

ตอนนี้ไทม์ไลน์เหตุการณ์จะแสดงเมื่อมีการแนบและยกเลิกการแนบ Fragment นอกจากนี้ เมื่อวางเมาส์เหนือส่วนย่อย เคล็ดลับเครื่องมือจะแสดงสถานะของส่วนย่อย

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

ก่อนหน้านี้ โปรแกรมสร้างโปรไฟล์เครือข่ายจะแสดงเฉพาะข้อความดิบจากเพย์โหลดการเชื่อมต่อ ตอนนี้ Android Studio 3.3 จะจัดรูปแบบข้อความบางประเภทโดยค่าเริ่มต้น ซึ่งรวมถึง JSON, XML และ HTML ในแท็บคำตอบและคำขอ ให้คลิกลิงก์ดูที่แยกวิเคราะห์แล้วเพื่อแสดงข้อความที่จัดรูปแบบแล้ว และคลิกลิงก์ดูแหล่งที่มาเพื่อแสดงข้อความดิบ

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

การดาวน์โหลดคอมโพเนนต์ SDK โดยอัตโนมัติ

เมื่อโปรเจ็กต์ต้องการคอมโพเนนต์ SDK จากแพลตฟอร์ม SDK, NDK หรือ CMake ตอนนี้ Gradle จะพยายามดาวน์โหลดแพ็กเกจที่จำเป็นโดยอัตโนมัติตราบใดที่คุณ ยอมรับข้อตกลงใบอนุญาตที่เกี่ยวข้องก่อนหน้านี้โดยใช้ SDK Manager

ดูข้อมูลเพิ่มเติมได้ที่ ดาวน์โหลดแพ็กเกจที่ขาดหายไปโดยอัตโนมัติด้วย Gradle

การรองรับ Clang-Tidy

ตอนนี้ Android Studio รองรับการวิเคราะห์โค้ดแบบคงที่โดยใช้ Clang-Tidy สำหรับโปรเจ็กต์ที่มีโค้ดเนทีฟ หากต้องการเปิดใช้การรองรับ Clang-Tidy ให้อัปเดต NDK เป็น r18 ขึ้นไป

จากนั้นคุณจะเปิดใช้หรือเปิดใช้การตรวจสอบอีกครั้งได้โดยเปิดกล่องโต้ตอบการตั้งค่าหรือค่ากำหนด แล้วไปที่เอดิเตอร์ > การตรวจสอบ > C/C++ > ทั่วไป > Clang-Tidy เมื่อเลือกการตรวจสอบนี้ในกล่องโต้ตอบการตั้งค่าหรือค่ากำหนด คุณจะเห็นรายการการตรวจสอบ Clang-Tidy ที่เปิดและปิดใช้ในส่วนตัวเลือกของแผงด้านขวาสุดด้วย หากต้องการเปิดใช้การตรวจสอบเพิ่มเติม ให้เพิ่มการตรวจสอบลงในรายการ แล้วคลิกใช้

หากต้องการกำหนดค่า Clang-Tidy ด้วยตัวเลือกเพิ่มเติม ให้คลิกกำหนดค่าตัวเลือกการตรวจสอบ Clang-Tidy แล้วเพิ่มตัวเลือกในกล่องโต้ตอบที่ เปิดขึ้น

การนำตัวเลือกสำหรับการปรับแต่ง C++ ออก

ระบบได้นำตัวเลือกต่อไปนี้ออกจากกล่องโต้ตอบปรับแต่งการรองรับ C++

  • การรองรับข้อยกเว้น (-fexceptions)
  • การรองรับข้อมูลประเภทรันไทม์ (-ftti)

ระบบจะเปิดใช้ลักษณะการทำงานที่เกี่ยวข้องสำหรับโปรเจ็กต์ทั้งหมดที่สร้างผ่าน Android Studio

CMake เวอร์ชัน 3.10.2

ตอนนี้ SDK Manager มี CMake เวอร์ชัน 3.10.2 แล้ว โปรดทราบว่า Gradle ยังคงใช้เวอร์ชัน 3.6.0 โดยค่าเริ่มต้น

หากต้องการระบุเวอร์ชัน CMake ให้ Gradle ใช้ ให้เพิ่มโค้ดต่อไปนี้ลงใน ไฟล์ build.gradle ของโมดูล

    android {
        ...
        externalNativeBuild {
            cmake {
                ...
                version "3.10.2"
            }
        }
    }
    
  

ดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่า CMake ใน build.gradle ได้ที่ กำหนดค่า Gradle ด้วยตนเอง

ไวยากรณ์ "+" ใหม่เพื่อระบุเวอร์ชัน CMake ขั้นต่ำ

เมื่อระบุเวอร์ชันของ CMake ในไฟล์ build.gradle ของโมดูลหลัก ตอนนี้คุณสามารถต่อท้าย "+" เพื่อให้ตรงกับลักษณะการทำงานของคำสั่ง cmake_minimum_required() ของ CMake ได้แล้ว

ข้อควรระวัง: ไม่แนะนำให้ใช้ไวยากรณ์ "+" กับการขึ้นต่อกันของบิลด์อื่นๆ เนื่องจากการขึ้นต่อกันแบบไดนามิกอาจทำให้เกิดการอัปเดตเวอร์ชันที่ไม่คาดคิดและ ทำให้แก้ไขความแตกต่างของเวอร์ชันได้ยาก

Android App Bundle รองรับ Instant App แล้ว

ตอนนี้ Android Studio ช่วยให้คุณสร้าง Android App Bundle ได้โดย รองรับ Google Play Instant อย่างเต็มรูปแบบ กล่าวคือ ตอนนี้คุณสามารถสร้างและ ติดตั้งใช้งานทั้งแอปที่ติดตั้งและประสบการณ์แบบใช้งานได้ทันทีจากโปรเจ็กต์ Android Studio เดียว และรวมไว้ใน Android App Bundle เดียวได้แล้ว

หากสร้างโปรเจ็กต์ Android Studio ใหม่โดยใช้กล่องโต้ตอบสร้างโปรเจ็กต์ใหม่ โปรดเลือกช่องข้าง กำหนดค่าโปรเจ็กต์ > โปรเจ็กต์นี้จะรองรับ Instant App จากนั้น Android Studio จะสร้างโปรเจ็กต์แอปใหม่ตามปกติ แต่จะรวมพร็อพเพอร์ตี้ต่อไปนี้ ไว้ในไฟล์ Manifest เพื่อเพิ่มการรองรับ Instant App ลงในโมดูลฐานของแอป

    <manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
        <dist:module dist:instant="true" />
        ...
    </manifest>
    
  

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

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

การซิงค์โปรเจ็กต์ที่มีตัวแปรเดียว

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

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

หากต้องการเปิดใช้การเพิ่มประสิทธิภาพนี้ด้วยตนเอง ให้คลิก File > Settings > Experimental > Gradle (Android Studio > Preferences > Experimental > Gradle ใน Mac) แล้วเลือก ช่องทำเครื่องหมายซิงค์เฉพาะตัวแปรที่ใช้งานอยู่

หมายเหตุ: ปัจจุบันการเพิ่มประสิทธิภาพนี้รองรับโปรเจ็กต์ที่มีเฉพาะภาษาโปรแกรม Java เท่านั้น เช่น หาก IDE ตรวจพบโค้ด Kotlin หรือ C++ ในโปรเจ็กต์ ระบบจะไม่เปิดใช้การเพิ่มประสิทธิภาพนี้โดยอัตโนมัติ และคุณไม่ควร เปิดใช้ด้วยตนเอง

ดูข้อมูลเพิ่มเติมได้ที่ เปิดใช้การซิงค์โปรเจ็กต์แบบตัวแปรเดียว

แสดงความคิดเห็นอย่างรวดเร็ว

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

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

หากยังไม่ได้ดำเนินการ คุณสามารถเปิดใช้การแชร์สถิติการใช้งานได้โดย เปิดกล่องโต้ตอบการตั้งค่า ค่ากำหนดใน Mac) ไปที่ ลักษณะที่ปรากฏและลักษณะการทำงาน > การตั้งค่าระบบ > การแชร์ข้อมูล แล้วเลือก ส่งสถิติการใช้งานไปยัง Google