Berikut adalah fitur baru di Android Studio Dolphin.
Baru di Compose
Berikut adalah fitur baru dan peningkatan pada Jetpack Compose di Android Studio.
Koordinasi Animasi Compose
Jika animasi dijelaskan dalam pratinjau composable, kini Anda dapat menggunakan Pratinjau Animasi untuk memeriksa dan mengoordinasikan semuanya sekaligus. Anda juga dapat membekukan animasi tertentu.
Anotasi Multipratinjau Compose
Kini Anda dapat menentukan class anotasi yang menyertakan beberapa definisi Pratinjau dan menggunakan anotasi baru tersebut untuk membuat pratinjau tersebut sekaligus. Gunakan anotasi baru ini untuk melihat pratinjau beberapa perangkat, font, dan tema secara bersamaan—tanpa mengulangi definisi tersebut untuk setiap satu composable.
Jumlah Rekomposisi Compose di Layout Inspector
Saat men-debug tata letak Compose, penting untuk mengetahui kapan composable melakukan atau tidak merekomposisi agar memahami apakah UI Anda diterapkan dengan benar. Misalnya, jika terlalu sering direkomposisi, aplikasi Anda mungkin melakukan lebih banyak pekerjaan daripada yang diperlukan. Di sisi lain, komponen yang tidak merekomposisi saat Anda mengharapkannya dapat menyebabkan perilaku yang tidak terduga.
Layout Inspector kini memungkinkan Anda melihat kapan composable berlainan di
hierarki tata letak telah direkomposisi atau dilewati. Informasi ini ditampilkan
secara langsung saat Anda berinteraksi dengan aplikasi. Untuk memulai, pastikan aplikasi Anda
menggunakan Compose 1.2.0-alpha03
atau yang lebih tinggi. Kemudian, deploy aplikasi seperti
biasa.
Buka jendela Layout Inspector dan hubungkan ke proses aplikasi Anda. Di Component Tree, Anda akan melihat dua kolom baru muncul di samping hierarki tata letak. Kolom pertama menampilkan jumlah komposisi untuk setiap node. Kolom kedua menampilkan jumlah lewati untuk setiap node. Anda juga dapat melihat informasi serupa di panel Attributes saat memilih composable dari Component Tree atau Layout Display.
Jika Anda ingin mereset jumlah, klik Reset di dekat bagian atas panel Component Tree. Mereset jumlah dapat membantu Anda memahami rekomposisi atau lewati selama interaksi tertentu dengan aplikasi Anda.
Update Asisten penyambungan emulator Wear OS
Mulai dari Android Studio Dolphin Canary 3, asisten penyambungan emulator Wear OS telah meningkatkan fitur yang memudahkan untuk mengelola dan menghubungkan emulator Wear. Sekarang Anda dapat melakukan hal berikut:
- Lihat perangkat Wear di Device Manager.
- Sambungkan beberapa perangkat Wear dengan satu ponsel virtual atau fisik.
- Hubungkan kembali perangkat yang disambungkan sebelumnya saat diluncurkan secara otomatis. Android Studio kini mengingat dan menyambungkan ulang penyiapan pasangan terakhir.
Untuk menggunakan fitur baru ini, pastikan emulator ponsel Anda adalah API level 30 atau yang lebih tinggi dan telah menginstal Google Play Store. Selain itu, pastikan emulator Wear menggunakan API level 28 atau yang lebih tinggi. Untuk mengupgrade ke image sistem terbaru bagi perangkat yang diemulasi, buka Tools > SDK Manager.
Untuk informasi selengkapnya, lihat Menggunakan asisten penyambungan emulator Wear OS.
Update toolbar emulator Wear OS
Mulai dari Android Studio Dolphin Canary 2, untuk emulator Wear dengan API level 28 atau yang lebih tinggi, toolbar emulator kini memiliki tombol yang menyimulasikan tombol fisik dan tindakan umum pada perangkat. Tombol barunya adalah: Tombol 1 dan Tombol 2 (Tombol 2 hanya tersedia di API level 30 atau yang lebih tinggi), tombol Palm, dan tombol Miring. Berikut beberapa tindakan yang dapat Anda lakukan menggunakan tombol baru di emulator Wear:
- Untuk menyetel perangkat ke mode standby, klik tombol Palm.
- Untuk mengembalikan perangkat ke layar terakhir sebelum mode standby, klik tombol Miring.
Untuk mengetahui informasi selengkapnya, lihat Melakukan tindakan umum di emulator.
Konfigurasi run Wear OS baru
Konfigurasi run baru telah ditambahkan untuk menjalankan dan men-debug platform khusus untuk Wear OS dengan cepat seperti tampilan jam, Kartu, dan widget tampilan jam. Anda bisa membuat konfigurasi baru ini dari dialog Run/Debug Configurations saat menjalankan aplikasi.
Untuk informasi selengkapnya, lihat Konfigurasi run/debug Wear OS.
Logcat Baru
Logcat telah diupdate untuk mempermudah penguraian, kueri, dan pelacakan log.
Pemformat baru
Logcat sekarang memformat log untuk mempermudah pemindaian informasi yang berguna, seperti tag dan pesan, serta mengidentifikasi berbagai jenis log, seperti peringatan dan error.
Membuat beberapa jendela Logcat
Kini Anda dapat membuat beberapa tab dalam Logcat sehingga Anda dapat dengan mudah beralih di antara perangkat atau kueri yang berbeda. Dengan mengklik kanan tab, Anda dapat mengganti namanya, dan Anda dapat mengklik lalu menarik untuk mengatur ulang tab.
Selain itu, untuk memudahkan Anda membandingkan antara dua kumpulan log, kini Anda dapat membagi tampilan dalam tab dengan mengklik kanan tampilan log dan memilih Split Right Split Down. Untuk menutup pemisahan, klik kanan dan pilih Close. Setiap pemisahan memungkinkan Anda menyetel koneksi perangkat, opsi tampilan, dan kuerinya sendiri.
Beralih antarpreset tampilan
Logcat kini memungkinkan Anda beralih dengan cepat antara mode tampilan yang berbeda—Standar, Ringkas, dan Kustom—dengan mengklik . Setiap mode tampilan menyediakan setelan default yang berbeda untuk menampilkan informasi lebih banyak atau lebih sedikit, seperti stempel waktu, tag, dan ID proses (PID). Anda juga dapat menyesuaikan setiap mode tampilan default, serta mode tampilan kustom, dengan memilih Modify View.
Penelusuran nilai kunci baru
Pada Logcat versi sebelumnya, Anda memiliki opsi untuk menggunakan penelusuran string (dengan dukungan untuk ekspresi reguler) atau membuat filter baru dengan mengisi berbagai kolom menggunakan UI Logcat. Opsi pertama membuat penelusuran menjadi lebih kompleks dan opsi kedua membuat berbagi serta menyiapkan kueri menjadi lebih sulit. Sekarang kami telah menyederhanakan pengalaman tersebut dengan memperkenalkan penelusuran nilai kunci langsung dari kolom kueri utama.
Sistem kueri baru ini memberikan akurasi kueri yang Anda inginkan, tanpa mengandalkan ekspresi reguler, dengan kemampuan untuk mengingat kueri sebelumnya dari histori dan membagikan kueri tersebut dengan orang lain. Selain itu, Anda masih memiliki opsi untuk menggunakan RegEx dan mengecualikan log berdasarkan nilai kunci. Berikut adalah beberapa contoh cara menggunakan sistem kueri baru, tetapi Anda juga dapat mulai mengetik di kolom kueri untuk melihat saran:
- PID untuk project aplikasi lokal:
package:mine
- Nilai tertentu:
package:<package-ID>
tag:<tag>
level:[VERBOSE | INFO | ASSERT |DEBUG | WARN | ERROR ]
- Kecualikan nilai tertentu dengan menambahkan kunci
-
terlebih dahulu:-tag:<exclude-tag>
- Gunakan ekspresi reguler dengan kunci yang ditentukan dengan menempatkan
~
setelah kunci:tag~:<regular-expression-tag>
- Gabungkan dengan tag pengecualian:
-tag~:<exclude-regular-expression-tag>
Anda juga dapat melihat histori kueri dengan mengklik di kolom kueri dan memilihnya dari drop-down. Untuk memfavoritkan kueri agar tetap berada di bagian atas daftar di semua project studio Anda, klik di akhir kolom kueri.
Melacak log saat aplikasi mengalami error/dimulai ulang
Logcat baru kini mempermudah pelacakan log dari aplikasi Anda saat
error dan dimulai ulang sehingga Anda tidak melewatkan log penting di peristiwa ini.
Saat Logcat melihat bahwa proses aplikasi telah berhenti dan dimulai ulang, Anda akan melihat
pesan dalam output—seperti PROCESS ENDED
dan PROCESS STARTED
—seperti yang ditunjukkan
di bawah ini:
Selain itu, memulai ulang Logcat akan mempertahankan konfigurasi sesi, seperti pemisahan tab, filter, dan opsi tampilan sehingga Anda dapat melanjutkan sesi dengan mudah.
Perangkat yang Dikelola Gradle
Untuk meningkatkan konsistensi, performa, dan keandalan saat menggunakan Perangkat Virtual Android untuk pengujian berinstrumen otomatis Anda, kami memperkenalkan Perangkat yang Dikelola Gradle. Fitur ini, yang tersedia untuk API level 27 dan yang lebih tinggi, memungkinkan Anda mengonfigurasi perangkat pengujian virtual dalam file Gradle project. Sistem build menggunakan konfigurasi untuk sepenuhnya mengelola—yaitu, membuat, men-deploy, dan menghancurkan—perangkat tersebut saat menjalankan pengujian otomatis.
Fitur ini memberikan visibilitas Gradle tidak hanya pada pengujian yang Anda jalankan, tetapi juga siklus proses perangkat sehingga meningkatkan kualitas pengalaman pengujian Anda dengan cara berikut:
- Menangani masalah terkait perangkat untuk memastikan pengujian Anda dijalankan
- Memanfaatkan snapshot emulator untuk meningkatkan waktu startup perangkat dan penggunaan memori, serta memulihkan perangkat ke kondisi bersih di antara pengujian
- Meng-cache hasil pengujian dan hanya menjalankan ulang pengujian yang kemungkinan akan memberikan hasil yang berbeda
- Memberikan lingkungan yang konsisten untuk menjalankan pengujian antara pengujian lokal dan jarak jauh
Selain itu, Perangkat yang Dikelola Gradle memperkenalkan jenis baru perangkat Emulator, yang disebut Perangkat Pengujian Otomatis (ATD), yang dioptimalkan untuk meningkatkan performa saat menjalankan uji instrumentasi Anda. Dikombinasikan dengan dukungan untuk sharding pengujian, Anda dapat bereksperimen dengan membagi rangkaian pengujian di beberapa instance ATD untuk mengurangi waktu eksekusi uji secara keseluruhan. Untuk mempelajari lebih lanjut Perangkat yang Dikelola Gradle dan fitur terkaitnya, lihat Menskalakan pengujian dengan Perangkat yang Dikelola Gradle.
Dukungan R8 menggunakan file pemetaan berdasarkan offset petunjuk DEX
Saat mengoptimalkan informasi baris, R8 kini dapat mengenkode informasi di objek informasi proses debug bersama dengan tabel baris berdasarkan offset petunjuk. Hal ini secara substansial mengurangi overhead informasi baris. Akibatnya, baris dalam metode tidak lagi berurutan, tetapi mungkin melompat secara interval bergantung pada ukuran petunjuk. Perhatikan bahwa beberapa alat tidak mempertimbangkan encoding bersama ini.
Selain itu, VM Android yang dimulai dari O (API Level 26) mendukung offset petunjuk pencetakan dalam pelacakan tumpukan jika metode ini tidak memiliki informasi nomor baris. Saat mengompilasi dengan minSdk 26 atau yang lebih tinggi, dan tanpa informasi file sumber, R8 menghapus informasi nomor baris sepenuhnya.
Lambda stateless tidak lagi di-desugar sebagai singleton
Lambda stateless tidak lagi dialokasikan sebagai singleton dengan desugaring. Representasi sebagai singleton menambahkan overhead ukuran kode karena kolom yang ditambahkan dan penginisialisasi class, serta overhead startup, karena inisialisasi class statis. Lambda stateless kini dialokasikan di situs penggunaan dengan cara yang sama seperti lambda stateful (lambda dengan tangkapan).
R8 menghindari pelambatan verifikasi pada runtime Android
Untuk menghilangkan masalah performa pada runtime Android (Dalvik dan ART), R8 (bukan D8) kini memperkenalkan stub library dan panggilan outline ke metode library untuk class library dan metode yang mungkin tidak ada saat runtime. Tindakan ini akan menghilangkan banyak masalah verifikasi dan meningkatkan performa runtime. Fitur ini selalu diaktifkan.
Dukungan untuk JDK-11 API dengan desugaring API Java 8+
Saat menggunakan dependensi coreLibraryDesugaring, kini terdapat dukungan untuk
library implementasi berdasarkan JDK-11. Lihatdesugar_jdk_libs
log perubahan
untuk informasi selengkapnya.
Rilis patch
Berikut adalah daftar rilis Patch di Android Studio Dolphin.
Android Studio Dolphin | 2021.3.1 Patch 1 (Oktober 2022)
Dengan rilis Patch 1, Android Studio Dolphin kini mendukung plugin Kotlin 1.7.20. Update minor ini juga mencakup perbaikan bug berikut:
Perbaikan Masalah | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Plugin Android Gradle |
|
||||||||||||
Dexer (D8) |
|
||||||||||||
Impor/Sinkronisasi |
|
||||||||||||
Referensi |
|
||||||||||||
Penyingkat (R8) |
|