grafik
Bu tabloda, androidx.graphics
grubundaki tüm yapı taşları listelenir.
Yapı | Kararlı Sürüm | Sürüm Adayı | Beta Sürümü | Alfa Sürümü |
---|---|---|---|---|
graphics-core | 1.0.2 | - | - | - |
graphics-path | 1.0.1 | - | - | - |
grafik-şekiller | 1.0.1 | - | - | 1.1.0-alpha01 |
Bağımlılıkları beyan etme
Grafikler'e bağımlı eklemek için projenize Google Maven deposunu eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu inceleyin.
Uygulamanızın veya modülünüzün build.gradle
dosyasına ihtiyacınız olan yapıların bağımlılıklarını ekleyin:
Groovy
dependencies { implementation "androidx.graphics:graphics-core:1.0.2" implementation "androidx.graphics:graphics-path:1.0.1" implementation "androidx.graphics:graphics-shapes:1.1.0-alpha01" }
Kotlin
dependencies { implementation("androidx.graphics:graphics-core:1.0.2") implementation("androidx.graphics:graphics-path:1.0.1") implementation("androidx.graphics:graphics-shapes:1.1.0-alpha01") }
Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.
Geri bildirim
Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni bir kitaplık oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oy verebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerine bakın.
Bu yapı için sürüm notu yok.
Grafik Sürümü 1.1
Sürüm 1.1.0-alpha01
11 Aralık 2024
androidx.graphics:graphics-*:1.1.0-alpha01
yayınlanır. 1.1.0-alpha01 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Ana demo, genel bir Şekil Düzenleyici olarak yeniden tasarlandı. Bu sayede, şekilleri bir svg yolundan içe aktarabilir, otomatik işlemde gözden kaçan özellikler varsa bunları manuel olarak düzenleyebilir ve sonucu üretim kodunda kullanılabilecek bir koda aktarabilirsiniz. (I1ac13)
- Şekil dış çizgisi ilerleme durumuna ilişkin açı ölçümlerini eğri uzunluğu ölçümleriyle değiştirin. Bu, şekil değiştirme için daha karmaşık şekillerin kullanılmasına olanak tanır. (I75478) , I390dd
- Özellik eşleme algoritması iyileştirildi. Böylece daha fazla dönüşüm daha doğal görünecek. (I83287)
API Değişiklikleri
- SVG yolu içe aktarma ve özellik serileştirici ekleyin. Genel akış şu şekildedir:
- Bir SVG yolunu (SVG'nin
path
öğesindekid
özelliğinin değeri)List<Feature>
olarak dönüştürmek için yeniSvgPathParser.parseFeatures()
özelliğini kullanın. - Bu, değiştirilip
FeatureSerializer.serialize()
ile bir dize halinde serileştirilebilir. - Elde edilen dize,
FeatureSerializer.parse()
ile içe aktarılarak üretim kodunda kullanılabilir. - 1. ve 2. adımların bir kez yapıldığını ve yeni uygulamayla yapılabileceğini unutmayın. Üretim kodunda yalnızca 3. adımın uygulanması gerekir. (I9bd00, b/371196190), (Ic3842), (If68ed), (I10251)
- Bir SVG yolunu (SVG'nin
- Poligon özelliklerini ve özellik türlerini gösterin. Artık
List<Features>
alan temel kurucu ile daha genelRoundedPolygons
oluşturulabilir. Özellikler temel olarak kübik Bezier eğrilerinin bir listesidir ancak Morph algoritmasının başlangıç ve bitiş şekillerini eşleştirmesine yardımcı olmak için etiketlenir (dışa bakan köşeler dışa bakan köşelerle, içe bakan köşeler ise içe bakan köşelerle eşlenir). (I61e76), (I1fc5c) watchosDeviceArm64
KMP hedefi ve hedef kotlin 1.9 için destek eklendi. (Icf15d, b/364652024)
Hata Düzeltmeleri
- Son özelliğin boş olduğu uç durum düzeltildi. (I390dd)
RoundedPolygon
oluşturma işlemini daha güçlü hale getirin. (Ib862c, b/360888486)RoundedPolygon
ilk başlatılırken oluşan bir hata düzeltildi. (I83ddb)- Çokgenin merkezini tahmin etmek için kullanılan algoritmada bir hatayı düzeltin. (Ida147)
Grafik Şekilleri 1.0 sürümü
Sürüm 1.0.0
21 Ağustos 2024
androidx.graphics:graphics-shapes:1.0.0
, androidx.graphics:graphics-shapes-android:1.0.0
ve androidx.graphics:graphics-shapes-desktop:1.0.0
yayınlandı. 1.0.0 sürümü bu taahhütleri içerir.
Sürüm 1.0.0-rc01
24 Temmuz 2024
androidx.graphics:graphics-shapes:1.0.0-rc01
, androidx.graphics:graphics-shapes-android:1.0.0-rc01
ve androidx.graphics:graphics-shapes-desktop:1.0.0-rc01
yayınlandı. 1.0.0-rc01 sürümü bu taahhütleri içerir.
Sürüm 1.0.0-beta01
1 Mayıs 2024
androidx.graphics:graphics-shapes:1.0.0-beta01
, androidx.graphics:graphics-shapes-android:1.0.0-beta01
ve androidx.graphics:graphics-shapes-desktop:1.0.0-beta01
yayınlandı. 1.0.0-beta01 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Şekillerin farklı bir noktadan başlaması için önceden döndürülmesine izin verin. Bu değişiklik,
pillStar
şekillerinin eğrilerini çevredeki varsayılan olmayan bir noktadan başlatmasına olanak tanır. Bu, şeklin yolunun çizgisini animasyonlu olarak çizerken, şeklin dış çizgisindeki belirli bir yerden çizmeye başlamak için yararlı olabilir. (Ifbb4d, b/324303807) - Morph'a,
RoundedPolygon
'daki işlevlere paralelcalculateBounds()
işlevleri eklendi. (I8a3b6, b/325463575)
Sürüm 1.0.0-alpha05
7 Şubat 2024
androidx.graphics:graphics-shapes:1.0.0-alpha05
, androidx.graphics:graphics-shapes-android:1.0.0-alpha05
ve androidx.graphics:graphics-shapes-desktop:1.0.0-alpha05
yayınlandı. 1.0.0-alpha05 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Kitaplıkta artık bu yuvarlak/yıldız şekilleri kolayca oluşturmak için yeni
pill()
vepillStar()
işlevleri sunulmaktadır. Ayrıca, bir şekil için gereken tam sınırları (önceki sınırlar, temel Bezier eğrisi ankrajına ve kontrol noktalarına dayalı bir tahminden ibaretti) ve mümkün olan maksimum sınırları hesaplamak için yeni API'ler de vardır. Bu API'ler, şekil bu kapsayıcı içinde döndürülecekse onu içeren kapsayıcının boyutunu belirlemek için yararlı olabilir. (I71827)
API Değişiklikleri
- Artık tam ve maksimum sınırları almak için daha fazla seçenek mevcut. (I6d49f, b/317286450)
Hata Düzeltmeleri
- Bu şekiller çizgili yollar olarak çizilirken, sıfır uzunluktaki eğrilerle ilgili düşük düzeyde bir oluşturma sorunu nedeniyle zaman zaman oluşturma hataları oluşuyordu. Bu hata, sıfır uzunlukta tüm eğrilerin kaldırılmasıyla (şekillerin ihtiyaç duymadığı ve şekiller tarafından oluşturulan yolların ek maliyetini de azaltan bir işlem) düzeltildi.
Sürüm 1.0.0-alpha04
13 Aralık 2023
androidx.graphics:graphics-shapes:1.0.0-alpha04
, androidx.graphics:graphics-shapes-android:1.0.0-alpha04
ve androidx.graphics:graphics-shapes-desktop:1.0.0-alpha04
yayınlandı. 1.0.0-alpha04 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Bu sürüm, hata düzeltmelerinin yanı sıra çeşitli API değişiklikleri içerir.
- API değişikliklerinin çoğu, Şekiller kitaplığını KMP'ye uygun hale getirir. Bu sayede Android dışı koddan (ör. Android'e özgü olmayan Compose kodu) çağrı yapılması kolaylaşır. Örneğin, API'de önceki PointF, Matrix ve Path türleri gibi Android türleri yoktur.
- Ayrıca, performans nedeniyle API'lerde ve uygulamada, özellikle de nesne tahsisini (ve toplamayı) en aza indirmek için çeşitli değişiklikler yapıldı. Örneğin, PointF'den ayrı Float parametrelerine geçiş, bu köşeleri tutmak için çok sayıda geçici PointF yapısının ayrılmasını önler.
API Değişiklikleri
Morph.asMutableCubics
,MutableCubics
üzerinde iterasyon yapacak bir işlevle değiştirildi.PointTransformer
işlevsel arayüzü değiştirildi. Artık birPoint
'un x ve y koordinatlarını alıyor ve dönüştürülmüş x ve y koordinatlarıyla oluşturulan birTransformedResult
döndürüyor (I6719e)- Herkese açık
Cubic
oluşturucu kaldırıldı ve fabrika işlevi haline getirildi. (I409ce) - Android'e özgü dönüştürme ve çizim API'leri ekleme (I079f6, b/292289543)
- Android bağımlılıkları kaldırıldı (Iadc1c, b/292289543)
- Anahtar ve kontrol mülkü adları artık daha anlamlı (If13bd, b/294562941)
PointF
parametreleriFloat
çifti olarak değiştirildi (Id4705, b/276466399, b/290254314)progress
artık doğrudanMorph
çizim komutlarına iletiliyor (Icdca2)
Hata Düzeltmeleri
- Büyük şekiller oluştururken yaşanan hata düzeltildi. (I4fd66, b/313497325)
Sürüm 1.0.0-alpha03
7 Haziran 2023
androidx.graphics:graphics-shapes:1.0.0-alpha03
yayınlanır. 1.0.0-alpha03 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Yeni
RoundedPolygon.rectangle()
işlevi eklendi (I78e7e, b/280322189) - Yıldız ve daire işlevleri artık büyük harfleri küçük harfe dönüştürülüyor ve
RoundedPolygon
'nin tamamlayıcı nesnesi aracılığıyla çağrılıyor: ör.RoundedPolygon.star(...)
(I14735)
Hata Düzeltmeleri
- Yumuşatmadaki hata düzeltildi (Ibf894)
- Başlangıç ve bitiş şekli aynı olduğunda ortaya çıkan bir hata düzeltildi. Kesikler için kenardaki kullanılabilir alanı daha iyi dağıtın. Önce kullanılabilir alanı yuvarlama için, ardından kalan alan varsa yumuşatma için kullanın. (Ibd320, b/277936300)
Sürüm 1.0.0-alpha02
19 Nisan 2023
androidx.graphics:graphics-shapes:1.0.0-alpha02
yayınlanır. 1.0.0-alpha02 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Poligon üst sınıfı, alt sınıfı
RoundedPolygon
ile birleştirildi; tüm poligonlar artık [isteğe bağlı olarak] yuvarlatılmış poligonlardır. - Yıldız işlevi (önceki gibi
RoundedPolygon
değerini döndürmeye devam eder) artık öncekiinnerRadiusRatio
parametresi yerineinnerRadius
değeri alır. Bu parametre, mevcut yarıçap parametresiyle aynı birimlerdedir. Böylece işler daha basit ve tutarlı hale gelir. Ayrıca, hem iç hem de dış yarıçaplara aynı sayının uygulandığını açıklığa kavuşturmak içinnumOuterVertices
parametresinumVerticesPerRadius
olarak yeniden adlandırıldı. CornerRounding.radius
değerinin daha önce poligonun boyutuna göreli olduğu belirtiliyordu ancak bu değer göreli değil, mutlak bir değerdir (ve olmalıdır). Dokümanlar güncellendi ve 1,0 maksimum değerle sınırlayan ek düzeltildi.
Sürüm 1.0.0-alpha01
5 Nisan 2023
Graphics-Shapes, yuvarlatılmış poligonal şekillerin kolayca oluşturulmasına ve oluşturulmasına, ayrıca farklı şekiller arasında basit ve otomatik şekil değiştirmeye (animasyon) olanak tanıyan yeni bir kitaplıktır.
androidx.graphics:graphics-shapes:1.0.0-alpha01
yayınlanır. Bu sürüm, dahili bir daldan yayınlanmıştır.
Yeni Özellikler
- İstediğiniz sayıda köşeyle normal ve yıldız poligonlar oluşturmak için Polygon API'yi kullanın.
- Köşeler için yuvarlama yarıçapını ve yumuşatma parametrelerini belirtmek üzere isteğe bağlı
CornerRounding
parametrelerini kullanın. Böylece köşeleri yuvarlatılmış poligonal şekiller elde edebilirsiniz. - Başlangıç ve bitiş şekilleri arasında animasyon oluşturmak için ilerleme durumu 0 ile 1 arasında ayarlanabilen bir "dönüşüm" şeklini otomatik olarak hesaplamak üzere yeni
Morph(Polygon, Polygon)
API'yi kullanın. Bu yeni yuvarlak şekiller arasında yumuşak bir animasyon oluşturmak için sonucu her kareye çizerek bu ilerlemeyi zaman içinde canlandırın.
Grafik Yolu Sürümü 1.0
1.0.1 sürümü
1 Mayıs 2024
androidx.graphics:graphics-path:1.0.1
yayınlanır. 1.0.1 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Derleyici işaretlerinde iyileştirmeler.
Sürüm 1.0.0
6 Mart 2024
androidx.graphics:graphics-path:1.0.0
yayınlanır.
Sürüm 1.0.0-rc01
21 Şubat 2024
androidx.graphics:graphics-path:1.0.0-rc01
yayınlanır. 1.0.0-rc01 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- API 34'ten eski sürümlerde PathIterator'in performansını iyileştirme (Id4629)
Sürüm 1.0.0-beta02
10 Ocak 2024
Bu sürümdeki değişikliklerin tümü, yerel kod tarafından yapılan varsayımlar nedeniyle gerekenden daha büyük olan kitaplığın boyutunu azaltmayla ilgiliydi.
androidx.graphics:graphics-path:1.0.0-beta02
yayınlanır. 1.0.0-beta02 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
libandroidx.graphics.path.so
boyutu %96 oranında azaltıldı. (I71397)libandroidx.graphics.path.so
boyutunu %5 azaltın. (I2da7c)androidx.graphics:graphics-path
'ün yerel bileşenlerini %43 oranında küçülttük. (I8e40d)
Sürüm 1.0.0-beta01
29 Kasım 2023
androidx.graphics:graphics-path:1.0.0-beta01
yayınlanır. 1.0.0-beta01 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Deneysel
isAtLeastU()
API'nin (Ie9117, b/289269026) kullanımları kaldırıldı
Hata Düzeltmeleri
- Kitaplığın, konikler ile ilgili işlemleri de dahil olmak üzere çeşitli düzeltmeler ve performans iyileştirmeleri.
Sürüm 1.0.0-alpha02
7 Haziran 2023
androidx.graphics:graphics-path:1.0.0-alpha02
yayınlanır. Bu sürüm, dahili bir dalda geliştirilmiştir.
Yeni Özellikler
- Android 14 önizlemelerinde çalıştırıldığında sorunlara neden olan dahili platform sürümü kontrolüyle ilgili sorun düzeltildi (sürüm kontrolü başarısız olurdu ancak önceki sürümlerde işlemleri yapma mekanizması özellikle Android 14'te düzgün çalışmaz).
Sürüm 1.0.0-alpha01
22 Mart 2023
androidx.graphics:graphics-path:1.0.0-alpha01
yayınlanır. 1.0.0-alpha01 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Bu yeni kitaplık, yeni
PathIterator
API aracılığıyla yol verilerinin sorgulanmasına olanak tanır. Bu API'yi kullananlar, bir Path nesnesinin tüm segmentlerini iterleyerek bu segmentlerin işlemini ve verilerini belirleyebilir. - Kitaplıkta, Android 14 önizlemesinde kullanıma sunulan benzer API'ler kullanılır ancak API'nin bu AndroidX sürümü, API 21'e kadarki sürümlerde de çalışır.
Grafik Çekirdeği Sürümü 1.0
Sürüm 1.0.2
16 Ekim 2024
androidx.graphics:graphics-core:1.0.2
yayınlanır. 1.0.2 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
SurfaceControl
örneklerinin, serbest bırakıldıktan sonra bile sistem derleyicisi tarafından yönetilmeye devam etmesi sorunu düzeltildi.- Düşük gecikmeli bağımlılıklar kullanımdan kaldırıldıktan sonra, şu anda sunulan
HardwareBuffer
örneğinin serbest bırakılmaması sorunu düzeltildi - Ön arabellek kullanım işaretini desteklemeyen belirli Android 14 ve sonraki sürümleri çalıştıran cihazlarda titreme sorunu düzeltildi
1.0.1 sürümü
4 Eylül 2024
androidx.graphics:graphics-core:1.0.1
yayınlanır. 1.0.1 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Bellek kaynaklarının bazen serbest bırakılmamasıyla ilgili sorun düzeltildi.
Sürüm 1.0.0
29 Mayıs 2024
androidx.graphics:graphics-core:1.0.0
yayınlanır. 1.0.0 sürümü bu taahhütleri içerir.
1.0.0 sürümünün önemli özellikleri
- graphics-core kitaplığının resmi kararlı sürümü. 1.0.0-rc01 sürümünden küçük hata düzeltmeleri ve performans iyileştirmeleri içerir
Sürüm 1.0.0-rc01
17 Nisan 2024
androidx.graphics:graphics-core:1.0.0-rc01
yayınlanır. Bu sürüm, dahili bir dalda geliştirilmiştir.
Hata Düzeltmeleri
- Android 14 çalıştıran belirli Android cihazlarda
CanvasBufferedRendererAPI
ile dosya tanımlayıcılarının potansiyel olarak iki kez kapatılmasına neden olan sorun düzeltildi. FrameBuffer
'ün, çerçeve kartı örneklerini düzgün şekilde silememesi sorunu düzeltildi.
Sürüm 1.0.0-beta01
13 Aralık 2023
androidx.graphics:graphics-core:1.0.0-beta01
yayınlanır. 1.0.0-beta01 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Görünüm hiyerarşisinde Android'in 2D grafik API'leri (Canvas + Paint) ile düşük gecikmeli oluşturmayı desteklemek için yeni bir
LowLatencyCanvasView
API kullanıma sunuldu. HardwareBuffer
'a donanım hızlandırmalı Canvas oluşturmayı desteklemek içinCanvasBufferedRenderer
API'yi kullanıma sundu. Bu işlev, kullanıcı arayüzünün bir bölümünüBitmap.wrapHardwareBuffer
API kullanılarak Bitmap'e dönüştürülebilen bir arabelleğe çizmek için kullanılabilir.
API Değişiklikleri
CanvasBufferRenderer#releaseBuffer
API'si, isteğe bağlı bir çit parametresi içerecek şekilde güncellendi.RenderResult#fence
değerinin ne zaman döndürüldüğünü açıklamak için dokümanlar güncellendi. (If1ea7)- Çizim isteklerini planlamak için coroutine'lerden yararlanmayı desteklemek üzere
RenderRequest
yönteminiRenderRequest
sınıfına ekleyin.draw
Bir yürütücü tüketen önceki draw yönteminidrawAsync
olarak yeniden adlandırdık.isClosed()
yöntemi bir mülke dönüştürüldü. (I5bff6) - Doğrudan
CanvasBufferedRenderer.Builder#setBufferFormat
ile eşlemek içinCanvasFrontBufferRenderer
için arabellek biçimi parametresi gösterildi (I0f272) - Donanım hızlandırmalı tuval oluşturmayı
HardwareBuffer
olarak işlemek içinCanvasBufferedRenderer
API'si oluşturuldu. Bu,HardwareBuffers
boyutunda bir takas zinciri derinliği yapılandırmasının yanı sıra Android Q'ye geriye dönük bir uygulama sağlar.ColorSpace
yapılandırması hâlâ Android U+ ile sınırlıdır ancak uyumluluk uygulaması, geliştiriciler adına işlem yapmaz. (I9b1d8) - Sorunsuz veya varsayılan geçişler için değişiklik stratejisinin yanı sıra kare hızını kontrol etmek üzere
SurfaceControlCompat.Transaction
öğesinesetFrameRate
/clearFrameRate
API'leri ekleyin. (I6045c) setDataSpace
için gerekli API düzeyi, Android T'den Android Q'ya düşürüldü. (I59c34)- Tüketicilere, artık bir arabelleğe sunulmayan durumu temizleme fırsatı vermek için
GLFrameBufferRenderer
API'yeonBufferReleased
geri çağırma işlevi eklendi (I8a4e2) - Görünüm hiyerarşisi oluşturma işlemiyle senkronize edilen, düşük gecikmeli içerik oluşturma işleminin basit bir kullanım alanını desteklemek için
LowLatencyCanvasView
oluşturun. Bu sayede, senkronize ve düşük gecikmeli oluşturma için sırasıyla ekranda kapalı/açık olarak çevrilenSurfaceView
örneğini dahili olarak yöneterekSurfaceView
yönetimiyle ilgili karmaşıklıklar azaltılır. (I9253b) CanvasFrontBufferedRenderer
API'sine renk alanı yapılandırması desteği eklendi. Çok arabellekli geri çağırmalar, arka arabelleğe alınmışSurfaceControl
'ü de içerecek şekilde güncellendi (I24bd9)
Sürüm 1.0.0-alpha05
6 Eylül 2023
androidx.graphics:graphics-core:1.0.0-alpha05
yayınlanır. 1.0.0-alpha05 sürümü bu taahhütleri içerir.
Yeni Özellikler
GLFrameBufferRenderer
API kullanıma sunuldu. Bu, OpenGL bağımlılıkları, takas zinciri yapılandırması, piksel biçimleri veSurfaceControl
yapılandırmasının bir kombinasyonunu sağlar. (Ic775b)
API Değişiklikleri
SurfaceHolder#Callbacks
'ten boyutları iletmek için çeşitli geri çağırma API'lerine genişlik ve yükseklik parametreleri eklendi. (I7f9fc)- Hem ön hem de çoklu tamponlu katmanları temizlemek için temizle API'si eklendi. (Ic1f95)
GLFrontBufferedRenderer
içinde kullanılan takas zincirlerinin temel arabellek türünü yapılandırma desteği eklendi. (I07a13)GLFrameBufferRenderer
'teki alıcılara yönelik kotlin özellikleri, maksimum arabellek girişleri içinIntRange
notu ve sırasıylasetFormat
/setUsage
içinHardwareBufferFormart
veHardwareBufferUsage
notları eklendi. (Ief89e)- Sürüm çiti sağlamak için
SurfaceControl
işlemlerindekisetBuffer
API güncellendi. (Ice1bb) - Veri alanını yapılandırmak ve genişletilmiş parlaklık aralığını ayarlamak için
SurfaceControlCompat.Transaction
API'leri eklendi. (Ic378d)
Sürüm 1.0.0-alpha04
7 Haziran 2023
androidx.graphics:graphics-core:1.0.0-alpha04
yayınlanır. 1.0.0-alpha04 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Mevcut OpenGL uygulamasının yanı sıra
android.graphics.Canvas
API'sinden yararlanarak düşük gecikmeli grafikleri desteklemek içinCanvasFrontBufferedRenderer
kullanıma sunuldu
API Değişiklikleri
- Boş değer atanabilir
HardwareBuffer
örneklerinin ilgili platform API'sini yansıtmasına izin vermek içinSurfaceControlCompat.Transaction#setBuffer
API güncellendi (I173d7) - Destekleyici takas zinciri 2'den fazla arabellek içerebileceğinden, çift arabellekli oluşturmaya atıfta bulunan yöntemleri çoklu arabellekli olarak yeniden adlandırın. (I830d7)
- Canvas API'yi kullanarak üçüncü tarafların ön tamponlu bir oluşturma sisteminden yararlanmasını sağlamak için
CanvasFrontBufferedRenderer
API'si oluşturun. (Ibfc29)
Hata Düzeltmeleri
- İlgili etkinlik devam ettirildikten sonra
GLFrontBufferedRenderer
'ün içerik oluşturmaması sorunu düzeltildi. - Öne alınan içeriğin erkenden temizlenmesi sorunu düzeltildi.
- Düşük gecikmeli grafik API'leri yayınlandıktan sonra
SurfaceHolder.Callbacks
'ün kaldırılmaması sorunu düzeltildi.
Sürüm 1.0.0-alpha03
22 Mart 2023
androidx.graphics:graphics-core:1.0.0-alpha03
yayınlanır. 1.0.0-alpha03 sürümü bu taahhütleri içerir.
API Değişiklikleri
GLFrontBufferedRenderer
geri çağırma işlevi uygulaması, ara bir geçici arabelleğe oluşturduktan sonra orijinal hedefi yeniden hedeflemek için kullanılabilecek bir çerçeve arabelleği tanımlayıcısının yanı sıra arabellek genişliği/yüksekliği içeren birBufferInfo
nesnesi sağlamak üzere güncellendi. (I7fe20)SyncFence
oluşturma işleminiSyncFenceCompat
'daki statik fabrika yöntemine birleştirdi.- SyncFence oluşturma için
eglDupNativeFenceFDANDROID
'ün herkese açık uyumluluk yöntemi,SyncFenceCompat
fabrika yöntemi lehine kaldırıldı. Bu, API düzeyinden bağımsız olarak tüm API yüzeylerinin doğruSyncFence
uygulamasını almasını sağlamak içindir. (I849bb) FrameBufferRenderer
veSyncStrategy
ile ilgili dokümanlar eklendi.FrameBufferRenderer
+FrameBuffer
+FrameBufferPool
,androidx.graphics.opengl
paketine taşındıSyncStrategy
,androidx.graphics.opengl
paketine taşındıRenderCallback#onDraw
doküman güncellendi- API'nin uygulayıcısı
FrameBuffer.close
'i çağırmaktan sorumlu olanRenderCallback#obtainFrameBuffer
dokümanları güncellendi onDrawComplete
, gösterilecek içeriklerin gönderilmesinden tüketicilerin sorumlu olduğunu belirtecek şekilde güncellendi- Çerçeveyi yansıtmak için
SyncFence
uyumluluk arayüzleri/sınıflarıandroidx.hardware
paketine taşındı SyncFence
API'siSyncFenceV19
olarak yeniden adlandırıldı ve mümkün olduğunda çerçeveninSyncFence
API'sinden yararlananSyncFenceCompat
ile kullanımları birleştirmek için özel hale getirildi. (I5149c)
GLFrontBufferedRenderer#cancel
veGLFrontBufferedRenderer#execute
yöntemleri eklendi. İlk yöntem, ön arabelleğe oluşturmanın iptal edilmesi ve ön arabelleğin gizlenmesi gereken avuç içi reddi senaryolarında kullanışlıdır. İkincisi, oluşturma işlemini planlamak zorunda kalmadan GL iş parçacığındaki nesneleri değiştirmek için kullanışlıdır. (If0b7f)- Doğrudan çift tamponlu katmana oluşturmak için API ekleyin. Bu, devam etmeden sonra bir sahnenin yeniden oluşturulmasına yardımcı olur ve tüketicilere, oluşturulacak sahneye göre ön tamponlu oluşturmanın ne zaman dinamik olarak kullanılacağını seçerek belirleme fırsatı sunar. (Ied56c)
SurfaceView
'deki mevcut mekanizmaya ek olarak,SurfaceControl
üst öğesinin başka birSurfaceControl
örneğinden yapılandırılmasını desteklemek içinSurfaceControlCompat.Builder
'e yeni API eklendi. (I1d1b6)- Kullanımdan kaldırılan ve gizlenen işlevlerin daha fazla dönüş türü için boş değer kabul edilebilirlik durumu (Ibf7b0)
- Android cihazın,
HardwareBuffer
örnekleriniEGLImage
örneği olarak kullanılabilenEGLClientBuffer
nesnelerine içe aktarmayı destekleyip desteklemediğini sorgulamak içinEGL_ANDROID_get_native_client_buffer
uzantı sabiti eklendi. (Iad767) @JvmDefaultWithCompatibility
ek açıklaması (I8f206) ekleniyor
Sürüm 1.0.0-alpha02
9 Kasım 2022
androidx.graphics:graphics-core:1.0.0-alpha02
yayınlanır. 1.0.0-alpha02 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Android S'de (I0a035) kullanıma sunulan
addTransactionCommitListener
için eksikRequiresApi
ek açıklaması düzeltildi - Tüketicilerin mevcut arabellek genişliği/yüksekliğine ek olarak köşe düğümü gölgelendiricilerine iletebilecekleri bir dönüştürme matrisi sağlamak için
onDraw<Front/Double>
arabellek geri çağırma işlevleri güncellendi. Tüketiciler, OpenGL oluşturma kodlarını düzgün şekilde önceden döndürmek için bu parametreleri kullanmaktan sorumludur. (I82f9e)
Hata Düzeltmeleri
SurfaceControl
işlemleri yayınlamadan önce arabellekleri önceden döndürerek grafik gecikmesi iyileştirildi.- Hata günlüklerinde 300d (EGL_BAD_SURFACE) hatasının gösterilmesine neden olan sorun düzeltildi.
- Kullanıldığı ilgili etkinlik devam ettirildikten sonra
GLFrontBufferedRenderer
değerinin geçersiz olması sorunu düzeltildi. - Emülatör ve ChromeOS cihazlar için daha fazla destek.
- Ön tamponlu katmanın erkenden gizlenmesi sorunu düzeltildi.
Sürüm 1.0.0-alpha01
24 Ekim 2022
androidx.graphics:graphics-core:1.0.0-alpha01
yayınlanır. 1.0.0-alpha01 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Grafik çekirdeği AndroidX kitaplığının ilk sürümü. Ekran kalemi girişi gibi düşük gecikmeli kullanım alanlarını destekleyen API'ler de buna dahildir. Bu sürümde, OpenGL kullanımı için bazı yardımcı API'ler de kullanıma sunulmuştur.
API Değişiklikleri
- Hem düşük gecikme hem de yüksek kaliteli oluşturma çıkışı elde etmek için ön ve çoklu arabelleğe alma oluşturmaya yardımcı olmak üzere
GLFrontBufferedRenderer
kullanıma sunulmuştur. SurfaceView
,TextureView
gibi çeşitli yüzey sağlayıcılar için OpenGL oluşturmaya yardımcı olmak üzereGLRenderer
API'yi kullanıma sunar.