grafis
Tabel ini mencantumkan semua artefak dalam grup androidx.graphics.
| Artefak | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
|---|---|---|---|---|
| graphics-core | 1.0.3 | - | - | - |
| jalur-grafis | 1.0.1 | - | - | 1.1.0-alpha01 |
| grafis-bentuk | 1.1.0 | - | - | - |
Mendeklarasikan dependensi
Untuk menambahkan dependensi pada Print, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk informasi selengkapnya.
Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:
Groovy
dependencies { implementation "androidx.graphics:graphics-core:1.0.3" implementation "androidx.graphics:graphics-path:1.1.0-alpha01" implementation "androidx.graphics:graphics-shapes:1.1.0" }
Kotlin
dependencies { implementation("androidx.graphics:graphics-core:1.0.3") implementation("androidx.graphics:graphics-path:1.1.0-alpha01") implementation("androidx.graphics:graphics-shapes:1.1.0") }
Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.
Masukan
Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.
Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.
Tidak ada catatan rilis untuk artefak ini.
Grafik Versi 1.1
Versi 1.1.0
22 Oktober 2025
androidx.graphics:graphics-*:1.1.0 dirilis. Versi 1.1.0 berisi commit ini.
Versi 1.1.0-rc01
10 September 2025
androidx.graphics:graphics-*:1.1.0-rc01 dirilis. Versi 1.1.0-rc01 berisi commit ini.
Versi 1.1.0-beta01
30 Juli 2025
androidx.graphics:graphics-*:1.1.0-beta01 dirilis. Versi 1.1.0-beta01 berisi commit ini.
Perubahan API
- Project yang dirilis dengan Kotlin 2.0 memerlukan KGP 2.0.0 atau yang lebih baru untuk digunakan (Idb6b5)
- Tambahkan target kompilasi
mingwX64, js, dan wasm. (I2c46a)
Versi 1.1.0-alpha01
11 Desember 2024
androidx.graphics:graphics-*:1.1.0-alpha01 dirilis. Versi 1.1.0-alpha01 berisi commit ini.
Fitur Baru
- Mengerjakan ulang demo utama menjadi Editor Bentuk generik. Dengan begitu, Anda dapat mengimpor bentuk dari jalur SVG, mengedit fitur yang terdeteksi secara manual jika ada kesalahan dalam proses otomatis, dan mengekspor hasilnya ke dalam kode yang dapat digunakan dalam kode produksi. (I1ac13)
- Ganti pengukuran sudut untuk progres garis batas bentuk dengan pengukuran panjang kurva. Dengan demikian, bentuk yang lebih kompleks dapat digunakan untuk pengubahan bentuk. (I75478) , I390dd
- Meningkatkan algoritma pemetaan fitur, sehingga lebih banyak morph akan terlihat lebih alami. (I83287)
Perubahan API
- Menambahkan impor jalur SVG dan serializer fitur. Alur biasanya adalah:
- Gunakan
SvgPathParser.parseFeatures()baru untuk mengonversi jalur SVG (nilai atributdpada elemenpathSVG) menjadiList<Feature>. - Objek tersebut dapat diubah, lalu diserialisasi menjadi string dengan
FeatureSerializer.serialize(). - String yang dihasilkan dapat digunakan dalam kode produksi, dengan mengimpornya menggunakan
FeatureSerializer.parse() - Perhatikan bahwa langkah 1 & 2 dilakukan satu kali, dan dapat dilakukan dengan aplikasi baru. Kode produksi hanya perlu melakukan langkah 3. (I9bd00, b/371196190), (Ic3842), (If68ed), (I10251)
- Gunakan
- Mengekspos fitur poligon dan jenis fitur.
RoundedPolygonsgenerik lainnya kini dapat dibuat dengan konstruktor dasar yang menggunakanList<Features>. Fitur ini terutama berupa daftar kurva Bezier kubik, tetapi diberi tag untuk membantu algoritma Morph mencocokkan bentuk awal dan akhir (sudut cembung dipetakan ke sudut cembung dan sudut cekung dipetakan ke sudut cekung). (I61e76), (I1fc5c) - Menambahkan dukungan untuk target KMP
watchosDeviceArm64dan menargetkan kotlin 1.9. (Icf15d, b/364652024)
Perbaikan Bug
- Memperbaiki kasus ekstrem saat fitur terakhir kosong. (I390dd)
- Membuat kreasi
RoundedPolygonlebih andal. (Ib862c, b/360888486) - Memperbaiki bug pada inisialisasi
RoundedPolygon. (I83ddb) - Perbaiki error dalam algoritma untuk memperkirakan pusat poligon. (Ida147)
Bentuk Grafis Versi 1.0
Versi 1.0.1
4 September 2024
androidx.graphics:graphics-shapes:1.0.1, androidx.graphics:graphics-shapes-android:1.0.1, dan androidx.graphics:graphics-shapes-desktop:1.0.1 dirilis. Versi 1.0.1 berisi commit ini.
Versi 1.0.0
21 Agustus 2024
androidx.graphics:graphics-shapes:1.0.0, androidx.graphics:graphics-shapes-android:1.0.0, dan androidx.graphics:graphics-shapes-desktop:1.0.0 dirilis. Versi 1.0.0 berisi commit ini.
Versi 1.0.0-rc01
24 Juli 2024
androidx.graphics:graphics-shapes:1.0.0-rc01, androidx.graphics:graphics-shapes-android:1.0.0-rc01, dan androidx.graphics:graphics-shapes-desktop:1.0.0-rc01 dirilis. Versi 1.0.0-rc01 berisi commit ini.
Versi 1.0.0-beta01
1 Mei 2024
androidx.graphics:graphics-shapes:1.0.0-beta01, androidx.graphics:graphics-shapes-android:1.0.0-beta01, dan androidx.graphics:graphics-shapes-desktop:1.0.0-beta01 dirilis. Versi 1.0.0-beta01 berisi commit ini.
Perubahan API
- Memungkinkan bentuk diputar terlebih dahulu untuk dimulai pada titik yang berbeda. Perubahan ini memungkinkan bentuk
pillStarmemulai kurvanya dari titik non-default di perimeter. Hal ini dapat berguna saat menganimasikan goresan jalur bentuk, untuk mulai menggambar dari lokasi tertentu pada garis batas bentuk. (Ifbb4d, b/324303807) - Menambahkan fungsi
calculateBounds()ke Morph, yang paralel dengan fungsi yang sama diRoundedPolygon. (I8a3b6, b/325463575)
Versi 1.0.0-alpha05
7 Februari 2024
androidx.graphics:graphics-shapes:1.0.0-alpha05, androidx.graphics:graphics-shapes-android:1.0.0-alpha05, dan androidx.graphics:graphics-shapes-desktop:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit ini.
Fitur Baru
- Library ini kini menawarkan fungsi
pill()danpillStar()baru untuk memudahkan pembuatan bentuk bulat/bintang ini. Ada juga API baru untuk menghitung batas persis yang diperlukan untuk bentuk (batas sebelumnya hanyalah perkiraan berdasarkan titik kontrol dan titik anchor kurva Bezier yang mendasarinya), serta batas maksimum yang mungkin, yang dapat membantu menentukan ukuran penampung yang menampungnya jika akan diputar dalam penampung tersebut. (I71827)
Perubahan API
- Sekarang ada lebih banyak opsi untuk mengambil batas persis dan maksimum. (I6d49f, b/317286450)
Perbaikan Bug
- Terkadang ada artefak rendering saat menggambar bentuk ini sebagai jalur yang digarisbawahi, karena masalah rendering tingkat rendah yang terkait dengan kurva panjang nol. Bug ini diperbaiki dengan menghilangkan semua kurva panjang nol (yang tidak diperlukan oleh bentuk, sehingga juga menghemat overhead jalur yang dihasilkan oleh bentuk).
Versi 1.0.0-alpha04
13 Desember 2023
androidx.graphics:graphics-shapes:1.0.0-alpha04, androidx.graphics:graphics-shapes-android:1.0.0-alpha04, dan androidx.graphics:graphics-shapes-desktop:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit berikut ini.
Fitur Baru
- Rilis ini berisi beberapa perubahan API, serta perbaikan bug.
- Banyak perubahan API membuat library Shapes kompatibel dengan KMP. Hal ini memudahkan panggilan dari kode non-Android (seperti kode Compose yang agnostik terhadap Android). Misalnya, tidak ada jenis Android di API, seperti jenis PointF, Matrix, dan Path sebelumnya.
- Ada juga beberapa perubahan yang dilakukan pada API dan implementasi karena alasan performa, khususnya untuk meminimalkan alokasi (dan pengumpulan) objek. Misalnya, perpindahan dari PointF ke parameter Float terpisah menghindari alokasi banyak struktur PointF sementara untuk menyimpan verteks tersebut.
Perubahan API
- Mengganti
Morph.asMutableCubicsdengan fungsi untuk melakukan iterasi padaMutableCubics. Mengubah antarmuka fungsionalPointTransformer, kini mengambil koordinat x dan y dariPointdan menampilkanTransformedResult(yang dibuat dengan koordinat x & y yang diubah) (I6719e) - Menghapus konstruktor
Cubicpublik dan menjadikannya fungsi pabrik. (I409ce) - Menambahkan API transformasi dan gambar khusus Android (I079f6, b/292289543)
- Menghilangkan dependensi Android (Iadc1c, b/292289543)
- Nama properti anchor dan kontrol kini lebih masuk akal (If13bd, b/294562941)
- Parameter
PointFdiubah menjadi pasanganFloat(Id4705, b/276466399, b/290254314) progresskini diteruskan langsung ke perintah menggambarMorph(Icdca2)
Perbaikan Bug
- Memperbaiki bug saat membuat bentuk besar. (I4fd66, b/313497325)
Versi 1.0.0-alpha03
7 Juni 2023
androidx.graphics:graphics-shapes:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit ini.
Perubahan API
- Menambahkan fungsi
RoundedPolygon.rectangle()baru (I78e7e, b/280322189) - Fungsi Star dan Circle kini tidak menggunakan huruf kapital dan dipanggil melalui objek pendamping
RoundedPolygon: misalnya,RoundedPolygon.star(...)(I14735)
Perbaikan Bug
- Memperbaiki bug pada penghalusan (Ibf894)
- Memperbaiki bug yang terjadi saat bentuk awal dan akhir sama. Mendistribusikan ruang yang tersedia di samping dengan lebih baik untuk potongan, pertama-tama menggunakan ruang yang tersedia untuk pembulatan, lalu untuk penghalusan jika ada ruang yang tersisa. (Ibd320, b/277936300)
Versi 1.0.0-alpha02
19 April 2023
androidx.graphics:graphics-shapes:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.
Perubahan API
- Superclass Polygon digabungkan dengan subclass-nya,
RoundedPolygon; semua poligon kini menjadi poligon [opsional] yang dibulatkan. - Fungsi Star (yang masih menampilkan
RoundedPolygon, seperti sebelumnya) kini menggunakan nilaiinnerRadius, bukan parameterinnerRadiusRatiosebelumnya. Nilai ini menggunakan unit yang sama dengan parameter radius yang ada, sehingga lebih sederhana dan konsisten. Selain itu, parameternumOuterVerticesdiganti namanya menjadinumVerticesPerRadiusuntuk memperjelas bahwa angka yang sama diterapkan pada jari-jari dalam dan luar. CornerRounding.radiussebelumnya didokumentasikan relatif terhadap ukuran poligon, tetapi (dan seharusnya) merupakan nilai absolut, bukan relatif. Dokumen telah diperbarui dan anotasi yang membatasinya ke nilai maksimum 1,0 telah diperbaiki.
Versi 1.0.0-alpha01
5 April 2023
Graphics-Shapes adalah library baru yang memungkinkan pembuatan dan rendering bentuk poligonal bulat yang mudah, serta morphing (animasi) yang sederhana dan otomatis antara berbagai bentuk.
androidx.graphics:graphics-shapes:1.0.0-alpha01 dirilis. Versi ini dirilis dari cabang internal.
Fitur Baru
- Gunakan Polygon API untuk membuat poligon reguler dan bintang dengan jumlah verteks yang diinginkan.
- Gunakan parameter
CornerRoundingopsional untuk menentukan radius pembulatan dan parameter penghalus untuk sudut, sehingga menghasilkan bentuk poligonal dengan sudut membulat. - Gunakan
Morph(Polygon, Polygon)API baru untuk menghitung bentuk “morph” secara otomatis yang progresnya dapat ditetapkan dari 0 hingga 1 untuk menganimasikan antara bentuk awal dan akhir. Animasi progres dari waktu ke waktu, gambar hasilnya di setiap frame, untuk membuat animasi yang lancar di antara bentuk bulat baru ini.
Jalur Grafis Versi 1.0
Versi 1.1.0-alpha01
13 Agustus 2025
androidx.graphics:graphics-path:1.1.0-alpha01 dirilis. Versi 1.1.0-alpha01 berisi commit ini.
Perbaikan Bug
- Menambahkan penerapan untuk konversi dari kerucut ke kuadrat dan menggunakannya di platform host. f059b1
Versi 1.0.1
1 Mei 2024
androidx.graphics:graphics-path:1.0.1 dirilis. Versi 1.0.1 berisi commit ini.
Perbaikan Bug
- Peningkatan pada flag compiler.
Versi 1.0.0
6 Maret 2024
androidx.graphics:graphics-path:1.0.0 dirilis.
Versi 1.0.0-rc01
21 Februari 2024
androidx.graphics:graphics-path:1.0.0-rc01 dirilis. Versi 1.0.0-rc01 berisi commit berikut ini.
Perbaikan Bug
- Meningkatkan performa PathIterator di API < 34 (Id4629)
Versi 1.0.0-beta02
10 Januari 2024
Perubahan dalam rilis ini berfokus pada pengurangan ukuran library, yang lebih besar dari yang diperlukan karena asumsi yang dibuat oleh kode native.
androidx.graphics:graphics-path:1.0.0-beta02 dirilis. Versi 1.0.0-beta02 berisi commit ini.
Perbaikan Bug
- Mengurangi ukuran
libandroidx.graphics.path.sosebesar 96%. (I71397) - Kurangi ukuran
libandroidx.graphics.path.sosebesar 5%. (I2da7c) - Menciutkan komponen native
androidx.graphics:graphics-pathsebesar 43%. (I8e40d)
Versi 1.0.0-beta01
29 November 2023
androidx.graphics:graphics-path:1.0.0-beta01 dirilis. Versi 1.0.0-beta01 berisi commit ini.
Perubahan API
- Menghapus penggunaan API
isAtLeastU()eksperimental (Ie9117, b/289269026)
Perbaikan Bug
- Berbagai perbaikan dan peningkatan performa, termasuk cara library menangani kerucut.
Versi 1.0.0-alpha02
7 Juni 2023
androidx.graphics:graphics-path:1.0.0-alpha02 dirilis. Versi ini dikembangkan di cabang internal.
Fitur Baru
- Memperbaiki masalah pada pemeriksaan versi platform internal yang menyebabkan masalah saat berjalan di pratinjau Android 14 (pemeriksaan versi akan gagal, tetapi mekanisme untuk melakukan sesuatu pada rilis sebelumnya tidak berfungsi dengan benar di Android 14).
Versi 1.0.0-alpha01
22 Maret 2023
androidx.graphics:graphics-path:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.
Fitur Baru
- Library baru ini memungkinkan kueri data Jalur melalui
PathIteratorAPI baru. Dengan menggunakan API ini, pemanggil dapat melakukan iterasi di semua segmen objek Jalur untuk menentukan operasi dan data untuk segmen tersebut. - Library ini menggunakan API serupa yang diperkenalkan dalam pratinjau Android 14, tetapi versi API AndroidX ini juga berfungsi pada versi hingga API 21.
Graphics Core Versi 1.0
Versi 1.0.3
26 Maret 2025
androidx.graphics:graphics-core:1.0.3 dirilis. Versi 1.0.3 berisi commit ini.
Perbaikan Bug
- Perbaikan untuk kedipan layar penuh saat menggambar di perangkat tertentu dengan API<33.
Versi 1.0.2
16 Oktober 2024
androidx.graphics:graphics-core:1.0.2 dirilis. Versi 1.0.2 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah saat instance
SurfaceControlmasih dikelola oleh compositor sistem meskipun telah dilepaskan. - Memperbaiki masalah saat instance
HardwareBufferyang saat ini ditampilkan tidak dilepaskan setelah dependensi latensi rendah dihentikan - Memperbaiki masalah berkedip pada perangkat Android 14+ tertentu yang tidak mendukung tanda penggunaan buffer depan
Versi 1.0.1
4 September 2024
androidx.graphics:graphics-core:1.0.1 dirilis. Versi 1.0.1 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah saat sumber daya memori terkadang tidak dilepaskan.
Versi 1.0.0
29 Mei 2024
androidx.graphics:graphics-core:1.0.0 dirilis. Versi 1.0.0 berisi commit ini.
Fitur utama 1.0.0
- Rilis stabil resmi library graphics-core. Mencakup perbaikan bug kecil dan peningkatan performa dari 1.0.0-rc01
Versi 1.0.0-rc01
17 April 2024
androidx.graphics:graphics-core:1.0.0-rc01 dirilis. Versi ini dikembangkan di cabang internal.
Perbaikan Bug
- Memperbaiki masalah yang menyebabkan potensi penutupan ganda deskriptor file dengan
CanvasBufferedRendererAPIdi perangkat Android tertentu yang menjalankan Android 14. - Memperbaiki masalah saat
FrameBuffertidak menghapus instance framebuffer dengan benar.
Versi 1.0.0-beta01
13 Desember 2023
androidx.graphics:graphics-core:1.0.0-beta01 dirilis. Versi 1.0.0-beta01 berisi commit ini.
Fitur Baru
- Memperkenalkan API
LowLatencyCanvasViewbaru untuk mendukung rendering latensi rendah dengan API grafis 2D Android (Canvas + Paint) dalam hierarki View. - Memperkenalkan API
CanvasBufferedRendereruntuk mendukung rendering Canvas dengan akselerasi hardware keHardwareBuffer. Hal ini dapat digunakan untuk menggambar sebagian antarmuka pengguna ke dalam buffer yang dapat dikonversi menjadi Bitmap menggunakanBitmap.wrapHardwareBufferAPI.
Perubahan API
- Memperbarui
CanvasBufferRenderer#releaseBufferAPI agar memiliki parameter pagar opsional. Memperbarui dokumentasi untuk menjelaskan kapanRenderResult#fenceditampilkan. (If1ea7) - Menambahkan metode
drawkeRenderRequestuntuk mendukung pemanfaatan coroutine guna menjadwalkan permintaan gambar. Mengganti nama metode gambar sebelumnya yang menggunakan executor menjadidrawAsync. Memfaktorkan ulang metodeisClosed()menjadi properti. (I5bff6) - Mengekspos parameter format buffer ke
CanvasFrontBufferRendereruntuk dipetakan langsung keCanvasBufferedRenderer.Builder#setBufferFormat(I0f272) - Membuat
CanvasBufferedRendererAPI untuk menangani rendering kanvas yang dipercepat hardware ke dalamHardwareBuffer. Hal ini memberikan implementasi yang di-backport ke Android Q bersama dengan konfigurasi kedalaman swapchainHardwareBuffers. KonfigurasiColorSpacemasih terbatas pada Android U+, tetapi penerapan kompatibilitas tidak memberikan perilaku no-op atas nama developer. (I9b1d8) - Tambahkan API
setFrameRate/clearFrameRatekeSurfaceControlCompat.Transactionuntuk mengontrol kecepatan frame bersama dengan strategi perubahan untuk transisi yang lancar atau default. (I6045c) - Menurunkan level API yang diperlukan untuk
setDataSpaceke Android Q dari Android T. (I59c34) - Callback
onBufferReleasedtelah ditambahkan ke APIGLFrameBufferRendereruntuk memberi konsumen kesempatan membersihkan status saat buffer tidak lagi ditampilkan (I8a4e2) - Buat
LowLatencyCanvasViewuntuk mendukung kasus penggunaan sederhana dalam merender konten dengan latensi rendah yang disinkronkan dengan rendering hierarki View. Hal ini mengurangi kompleksitas yang terkait dengan pengelolaanSurfaceViewdengan mengelola instanceSurfaceViewsecara internal yang diterjemahkan di/luar layar untuk rendering yang disinkronkan dan berlatensi rendah. (I9253b) - Menambahkan dukungan konfigurasi ruang warna ke
CanvasFrontBufferedRendererAPI. Memperbarui callback multi-buffer untuk menyertakan jugaSurfaceControlyang di-buffer belakang (I24bd9)
Versi 1.0.0-alpha05
6 September 2023
androidx.graphics:graphics-core:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit ini.
Fitur Baru
- Memperkenalkan
GLFrameBufferRendererAPI. Hal ini memberikan kombinasi dependensi OpenGL, konfigurasi swap chain, format piksel, dan konfigurasiSurfaceControl. (Ic775b)
Perubahan API
- Menambahkan parameter lebar + tinggi ke berbagai API callback untuk menyalurkan dimensi dari
SurfaceHolder#Callbacks. (I7f9fc) - Menambahkan API hapus untuk menghapus lapisan yang di-buffer depan dan multi. (Ic1f95)
- Menambahkan dukungan untuk mengonfigurasi jenis buffer pokok swapchain yang digunakan dalam
GLFrontBufferedRenderer. (I07a13) - Menambahkan properti kotlin untuk pengambil pada anotasi
GLFrameBufferRenderer,IntRangeuntuk entri buffer maksimum, dan anotasiHardwareBufferFormartdanHardwareBufferUsageuntuksetFormat/setUsagemasing-masing. (Ief89e) - Memperbarui
setBufferAPI pada transaksiSurfaceControluntuk menyediakan penghalang rilis. (Ice1bb) - Menambahkan API
SurfaceControlCompat.Transactionuntuk mengonfigurasi ruang data serta menetapkan rentang kecerahan yang diperluas. (Ic378d)
Versi 1.0.0-alpha04
7 Juni 2023
androidx.graphics:graphics-core:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit ini.
Fitur Baru
- Memperkenalkan
CanvasFrontBufferedRendereruntuk mendukung grafis latensi rendah yang memanfaatkanandroid.graphics.CanvasAPI bersama dengan implementasi OpenGL yang ada
Perubahan API
- Mengupdate
SurfaceControlCompat.Transaction#setBufferAPI untuk memungkinkan instanceHardwareBuffernullable mencerminkan API platform yang sesuai (I173d7) - Ganti nama metode yang merujuk ke rendering Buffer Ganda menjadi Multi Buffer karena swapchain pendukung dapat berisi lebih dari 2 buffer. (I830d7)
- Buat
CanvasFrontBufferedRendererAPI untuk memungkinkan pihak ketiga memanfaatkan sistem rendering yang di-buffer depan menggunakan Canvas API. (Ibfc29)
Perbaikan Bug
- Memperbaiki masalah saat
GLFrontBufferedRenderertidak merender konten setelah melanjutkan Aktivitas terkait. - Memperbaiki masalah saat konten yang di-buffer depan akan dihapus sebelum waktunya.
- Memperbaiki masalah saat
SurfaceHolder.Callbackstidak dihapus setelah API grafis latensi rendah dirilis.
Versi 1.0.0-alpha03
22 Maret 2023
androidx.graphics:graphics-core:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit ini.
Perubahan API
- Memperbarui implementasi callback
GLFrontBufferedRendereruntuk menyediakan objekBufferInfoyang berisi lebar/tinggi buffer bersama dengan ID buffer frame yang dapat digunakan untuk menargetkan ulang tujuan awal setelah merender ke buffer sementara. (I7fe20) - Pembuatan
SyncFenceyang digabungkan ke metode factory statis diSyncFenceCompat. - Menghapus metode kompatibilitas publik untuk
eglDupNativeFenceFDANDROIDdan menggantinya dengan metode factorySyncFenceCompatuntuk pembuatan SyncFence. Hal ini untuk memastikan semua permukaan API menerima penerapanSyncFenceyang benar, terlepas dari level API. (I849bb) - Menambahkan dokumentasi untuk
FrameBufferRendererdanSyncStrategy.- Memindahkan
FrameBufferRenderer+FrameBuffer+FrameBufferPoolke paketandroidx.graphics.opengl - Memindahkan
SyncStrategyke paketandroidx.graphics.opengl - Dokumen
RenderCallback#onDrawyang diperbarui - Memperbarui dokumentasi
RenderCallback#obtainFrameBufferbahwa pelaksana API bertanggung jawab untuk memanggilFrameBuffer.close onDrawCompleteyang diperbarui untuk menunjukkan bahwa konsumen bertanggung jawab untuk mengirimkan konten yang akan ditampilkan- Memindahkan antarmuka/class kompatibilitas
SyncFenceke paketandroidx.hardwareuntuk mencerminkan framework - Mengganti nama
SyncFenceAPI menjadiSyncFenceV19dan menjadikannya pribadi untuk menggabungkan penggunaan keSyncFenceCompatyang memanfaatkanSyncFenceAPI framework jika memungkinkan. (I5149c)
- Memindahkan
- Menambahkan metode
GLFrontBufferedRenderer#canceldanGLFrontBufferedRenderer#execute. Yang pertama berguna dalam skenario penolakan sentuhan telapak tangan saat rendering ke buffer depan harus dibatalkan dan menyembunyikan buffer depan. Yang terakhir berguna dalam skenario untuk memanipulasi objek di thread GL tanpa harus menjadwalkan render. (If0b7f) - Menambahkan API untuk merender langsung ke lapisan buffer ganda. Hal ini membantu merender ulang adegan setelah dilanjutkan serta memberikan peluang kepada konsumen untuk secara selektif menentukan kapan harus memanfaatkan rendering yang di-buffer depan secara dinamis berdasarkan adegan yang diinginkan untuk dirender. (Ied56c)
- Menambahkan API baru ke
SurfaceControlCompat.Builderuntuk mendukung konfigurasiSurfaceControlinduk dari instanceSurfaceControllain selain mekanisme yang ada dariSurfaceView. (I1d1b6) - Lebih banyak nullability jenis nilai yang ditampilkan dari fungsi tersembunyi yang tidak digunakan lagi (Ibf7b0)
- Menambahkan konstanta ekstensi
EGL_ANDROID_get_native_client_bufferuntuk membuat kueri apakah perangkat Android mendukung impor instanceHardwareBufferke dalam objekEGLClientBufferyang dapat digunakan sebagai instanceEGLImage. (Iad767) - Menambahkan anotasi
@JvmDefaultWithCompatibility(I8f206)
Versi 1.0.0-alpha02
9 November 2022
androidx.graphics:graphics-core:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.
Perubahan API
- Memperbaiki anotasi
RequiresApiyang tidak ada untukaddTransactionCommitListeneryang diperkenalkan di Android S (I0a035) - Memperbarui callback Buffering
onDraw<Front/Double>untuk memberikan matriks transformasi yang dapat diteruskan konsumen ke shader vertex selain lebar/tinggi buffering saat ini. Konsumen bertanggung jawab menggunakan parameter ini untuk melakukan pra-rotasi kode rendering OpenGL dengan benar. (I82f9e)
Perbaikan Bug
- Meningkatkan latensi grafis dengan melakukan pra-rotasi buffering sebelum mengeluarkan transaksi
SurfaceControl. - Memperbaiki masalah saat log error akan menampilkan error 300d (EGL_BAD_SURFACE).
- Memperbaiki masalah saat
GLFrontBufferedRenderermenjadi tidak valid setelah Aktivitas terkait yang digunakannya dilanjutkan. - Meningkatkan dukungan untuk emulator dan perangkat Chrome OS.
- Memperbaiki masalah saat lapisan buffering depan mungkin disembunyikan sebelum waktunya.
Versi 1.0.0-alpha01
24 Oktober 2022
androidx.graphics:graphics-core:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.
Fitur Baru
- Rilis awal library AndroidX inti grafis. Ini termasuk API untuk mendukung kasus penggunaan latensi rendah seperti input stilus. Ini juga memperkenalkan beberapa API helper untuk penggunaan OpenGL.
Perubahan API
- Memperkenalkan
GLFrontBufferedRendereruntuk membantu rendering di depan dan multi-buffer untuk mencapai output rendering berkualitas tinggi dan latensi rendah. - Memperkenalkan
GLRendererAPI guna membantu rendering OpenGL untuk berbagai penyedia Surface sepertiSurfaceView,TextureView, dan lainnya.