grafikler
Bu tabloda, androidx.graphics
grubundaki tüm yapılar listelenir.
Yapı | Kararlı sürüm | Sürüm Adayı | Beta Sürümü | Alfa sürümü |
---|---|---|---|---|
graphics-core | 1.0.3 | - | - | - |
graphics-path | 1.0.1 | - | - | - |
graphics-shapes | 1.0.1 | - | - | 1.1.0-alpha01 |
Bağımlılıkları bildirme
Graphics'e bağımlılık eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.
Uygulamanız veya modülünüz için build.gradle
dosyasına ihtiyacınız olan yapılarla ilgili bağımlılıkları ekleyin:
Groovy
dependencies { implementation "androidx.graphics:graphics-core:1.0.3" 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.3") 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ştirmeye yönelik fikirleriniz olursa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.
Bu yapıyla ilgili 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
iptal edilir. 1.1.0-alpha01 sürümü bu commit'leri içerir.
Yeni Özellikler
- Ana demoyu genel bir Şekil Düzenleyici olarak yeniden düzenledik. Bu sayede, svg yolundan şekiller içe aktarabilir, otomatik süreçte kaçırılan özellikler olursa bunları manuel olarak düzenleyebilir ve sonucu üretim kodunda kullanılabilecek bir koda aktarabilirsiniz. (I1ac13)
- Şekil ana hattı ilerlemesi için açı ölçümlerini eğri uzunluğu ölçümleriyle değiştirin. Bu sayede, dönüştürme için daha karmaşık şekiller kullanılabilir. (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 eklendi. Normal akış şöyledir:
- Bir SVG yolunu (SVG'nin
path
öğesindekid
özelliğinin değeri)List<Feature>
'ye dönüştürmek için yeniSvgPathParser.parseFeatures()
işlevini kullanın. - Bu, değiştirilebilir ve ardından
FeatureSerializer.serialize()
ile dizeye dönüştürülebilir. - Sonuçta 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 kodunun yalnızca 3. adımı yapması 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 bir temel oluşturucuyla daha fazla genelRoundedPolygons
oluşturulabilir. Özellikler temel olarak kübik Bezier eğrileri listesidir ancak Morph algoritmasının başlangıç ve bitiş şekilleri arasında eşleşme yapmasına yardımcı olmak için etiketlenirler (dışbükey köşeler dışbükey köşelerle, içbükey köşeler ise içbükey köşelerle eşleştirilir). (I61e76), (I1fc5c) watchosDeviceArm64
KMP hedefi ve hedef kotlin 1.9 için destek ekler. (Icf15d, b/364652024)
Hata Düzeltmeleri
- Son özellik boş olduğunda ortaya çıkan uç durum düzeltildi. (I390dd)
RoundedPolygon
oluşturma sürecini daha sağlam hale getirin. (Ib862c, b/360888486)RoundedPolygon
başlatılırken oluşan hata düzeltildi. (I83ddb)- Çokgenin merkezini tahmin eden algoritmadaki bir hata düzeltildi. (Ida147)
Graphics Shapes Version 1.0
Sürüm 1.0.1
4 Eylül 2024
androidx.graphics:graphics-shapes:1.0.1
, androidx.graphics:graphics-shapes-android:1.0.1
ve androidx.graphics:graphics-shapes-desktop:1.0.1
yayınlandı. 1.0.1 sürümü bu commit'leri içerir.
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 commit'leri 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 commit'leri 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 commit'leri içerir.
API Değişiklikleri
- Şekillerin farklı bir noktadan başlamak için önceden döndürülmesine izin verin. Bu değişiklik,
pillStar
şekillerinin eğrilerini çevre üzerinde varsayılan olmayan bir noktadan başlatmasına olanak tanır. Bu özellik, şeklin ana hattındaki belirli bir konumdan çizmeye başlamak için şeklin yolunun konturlanmasını animasyonla gösterirken faydalı olabilir. (Ifbb4d, b/324303807) calculateBounds()
işlevleri,RoundedPolygon
'deki işlevlerle aynı olan Morph'a 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ü şu commit'leri içerir.
Yeni Özellikler
- Kitaplık artık bu yuvarlak/yıldızlı şekillerin kolayca oluşturulması için yeni
pill()
vepillStar()
işlevleri sunuyor. Ayrıca, bir şekil için gereken tam sınırları hesaplamaya yönelik yeni API'ler de vardır (önceki sınırlar, temel Bezier eğrisi tutturma ve kontrol noktalarına dayalı yalnızca bir tahmindi). Bu API'ler, şeklin içinde döndürülmesi durumunda şekli barındıran kapsayıcının boyutunu belirlemek için yararlı olabilecek maksimum olası sınırları da hesaplar. (I71827)
API Değişiklikleri
- Artık tam ve maksimum sınırları alma konusunda daha fazla seçeneğiniz var. (I6d49f, b/317286450)
Hata Düzeltmeleri
- Bu şekiller, sıfır uzunluklu eğrilerle ilgili düşük düzeyli bir oluşturma sorunu nedeniyle zaman zaman konturlu yollar olarak çizilirken oluşturma artefaktları oluşuyordu. Bu hata, tüm sıfır uzunluklu eğriler (şekillerin ihtiyaç duymadığı ve bu nedenle şekillerin oluşturduğu yolların ek yükünden de tasarruf sağlayan) ortadan kaldırılarak 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ü şu commit'leri içerir.
Yeni Özellikler
- Bu sürümde hata düzeltmelerinin yanı sıra çeşitli API değişiklikleri yer almaktadır.
- API değişikliklerinin çoğu, Şekiller kitaplığını KMP ile uyumlu hale getiriyor. Bu sayede, Android'e özgü olmayan Compose kodu gibi Android dışı kodlardan arama yapmak kolaylaşır. Örneğin, API'de önceki PointF, Matrix ve Path türleri gibi Android türleri yoktur.
- Ayrıca, özellikle nesne ayırmayı (ve toplamayı) en aza indirmek için performansla ilgili olarak API'lerde ve uygulamada çeşitli değişiklikler yapıldı. Örneğin, PointF'den ayrı Float parametrelerine geçiş, bu köşeleri tutmak için birçok geçici PointF yapısının ayrılmasını önler.
API Değişiklikleri
Morph.asMutableCubics
,MutableCubics
üzerinde yineleme yapacak bir işlevle değiştirildi.PointTransformer
işlevsel arayüzü değiştirildi. ArtıkPoint
öğesinin x ve y koordinatlarını alıpTransformedResult
döndürüyor (dönüştürülmüş x ve y koordinatlarıyla oluşturulur) (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ını ortadan kaldırın (Iadc1c, b/292289543)
- Sabit ve kontrol özelliği adları artık daha mantıklı (If13bd, b/294562941)
PointF
parametreleriFloat
çift 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şturulurken oluşan hata düzeltildi. (I4fd66, b/313497325)
Sürüm 1.0.0-alpha03
7 Haziran 2023
androidx.graphics:graphics-shapes:1.0.0-alpha03
iptal edilir. 1.0.0-alpha03 sürümü şu commit'leri içerir.
API Değişiklikleri
- Yeni
RoundedPolygon.rectangle()
işlevi eklendi (I78e7e, b/280322189) - Yıldız ve daire işlevleri artık küçük harflerle yazılıyor ve
RoundedPolygon
'nın yardımcı nesnesi aracılığıyla çağrılıyor. Örneğin:RoundedPolygon.star(...)
(I14735)
Hata Düzeltmeleri
- Düzeltme işlemindeki hata düzeltildi (Ibf894)
- Başlangıç ve bitiş şekli aynı olduğunda oluşan hata düzeltildi. Kesimler için yan taraftaki boş alanı daha iyi dağıtın. Önce yuvarlama için boş alanı kullanın, boş alan kalırsa düzleştirme 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
iptal edilir. 1.0.0-alpha02 sürümü şu commit'leri içerir.
API Değişiklikleri
- Polygon ü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 (eski gibi
RoundedPolygon
döndürmeye devam eder) artık öncekiinnerRadiusRatio
parametresi yerineinnerRadius
değeri alır. Bu parametre, mevcut yarıçap parametresiyle aynı birimlerde olduğundan işler daha basit ve tutarlı hale gelir. Ayrıca, aynı sayının hem iç hem de dış yarıçaplara uygulandığını netleştirmek içinnumOuterVertices
parametresinin adınumVerticesPerRadius
olarak değiştirildi. CornerRounding.radius
daha önce poligonun boyutuna göreli olarak belgelenmişti ancak göreli değil, mutlak bir değerdi (ve olmalıdır). Dokümanlar güncellendi ve maksimum 1,0 değeriyle sınırlayan ek açıklama düzeltildi.
Sürüm 1.0.0-alpha01
5 Nisan 2023
Graphics-Shapes, yuvarlak çokgen şekillerin kolayca oluşturulup işlenmesini ve farklı şekiller arasında basit ve otomatik şekil değiştirme (animasyon) yapılmasını sağlayan yeni bir kitaplıktır.
androidx.graphics:graphics-shapes:1.0.0-alpha01
iptal edilir. Bu sürüm, dahili bir daldan yayınlandı.
Yeni Özellikler
- İstenen sayıda köşeye sahip normal ve yıldız poligonlar oluşturmak için Polygon API'yi kullanın.
- Köşeler için yuvarlama yarıçapını ve düzleştirme parametrelerini belirtmek üzere isteğe bağlı
CornerRounding
parametrelerini kullanın. Bu sayede, köşeleri yuvarlatılmış çokgen ş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 sorunsuz bir animasyon oluşturmak için sonucu her kareye çizerek zaman içindeki ilerlemeyi canlandırın.
Grafik Yolu Sürümü 1.0
Sürüm 1.0.1
1 Mayıs 2024
androidx.graphics:graphics-path:1.0.1
iptal edilir. 1.0.1 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Derleyici işaretlerinde iyileştirmeler yapıldı.
Sürüm 1.0.0
6 Mart 2024
androidx.graphics:graphics-path:1.0.0
iptal edilir.
Sürüm 1.0.0-rc01
21 Şubat 2024
androidx.graphics:graphics-path:1.0.0-rc01
iptal edilir. 1.0.0-rc01 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- API < 34'te PathIterator'ın performansını iyileştirme (Id4629)
Sürüm 1.0.0-beta02
10 Ocak 2024
Bu sürümdeki değişikliklerin tamamı, yerel kodun yaptığı varsayımlar nedeniyle gereğinden büyük olan kitaplığın boyutunu küçültmekle ilgiliydi.
androidx.graphics:graphics-path:1.0.0-beta02
iptal edilir. 1.0.0-beta02 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
libandroidx.graphics.path.so
boyutunu %96 oranında küçülttü. (I71397)libandroidx.graphics.path.so
boyutunu %5 küçült. (I2da7c)androidx.graphics:graphics-path
'nın yerel bileşenleri %43 oranında küçültüldü. (I8e40d)
Sürüm 1.0.0-beta01
29 Kasım 2023
androidx.graphics:graphics-path:1.0.0-beta01
iptal edilir. 1.0.0-beta01 sürümü şu commit'leri içerir.
API Değişiklikleri
- Deneysel
isAtLeastU()
API'sinin (Ie9117, b/289269026) kullanımı kaldırıldı.
Hata Düzeltmeleri
- Kitaplığın koniklerle ilgilenme şekli 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
iptal edilir. Bu sürüm, dahili bir dalda geliştirilmiştir.
Yeni Özellikler
- Dahili platform sürümü kontrolüyle ilgili sorun düzeltildi. Bu sorun, Android 14 önizlemelerinde çalıştırılırken sorunlara neden oluyordu (sürüm kontrolü başarısız oluyordu ancak önceki sürümlerdeki işlemleri yapma mekanizması özellikle Android 14'te doğru çalışmıyordu).
Sürüm 1.0.0-alpha01
22 Mart 2023
androidx.graphics:graphics-path:1.0.0-alpha01
iptal edilir. 1.0.0-alpha01 sürümü şu commit'leri içerir.
Yeni Özellikler
- Bu yeni kitaplık, yeni
PathIterator
API aracılığıyla Yol verilerinin sorgulanmasına olanak tanır. Arayanlar, bu API'yi kullanarak bir Path nesnesinin tüm segmentlerini yineleyebilir ve bu segmentlerle ilgili işlemi ve verileri belirleyebilir. - Kitaplık, Android 14 önizlemesinde kullanıma sunulan benzer API'leri kullanır ancak API'nin bu AndroidX sürümü, API 21'e kadar olan sürümlerde de çalışır.
Graphics Core Version 1.0
Sürüm 1.0.3
26 Mart 2025
androidx.graphics:graphics-core:1.0.3
iptal edilir. 1.0.3 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- API<33'e sahip belirli cihazlarda çizim yaparken tam ekran titremesi sorunu düzeltildi.
Sürüm 1.0.2
16 Ekim 2024
androidx.graphics:graphics-core:1.0.2
iptal edilir. 1.0.2 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
SurfaceControl
örneklerinin serbest bırakıldıktan sonra bile sistem birleştiricisi tarafından yönetilmeye devam etmesi sorunu düzeltildi.- Düşük gecikmeli bağımlılıklar 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ümlerdeki cihazlarda titreme sorunu düzeltildi.
Sürüm 1.0.1
4 Eylül 2024
androidx.graphics:graphics-core:1.0.1
iptal edilir. 1.0.1 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Bellek kaynaklarının bazen serbest bırakılmaması sorunu düzeltildi.
Sürüm 1.0.0
29 Mayıs 2024
androidx.graphics:graphics-core:1.0.0
iptal edilir. 1.0.0 sürümü bu commit'leri içerir.
1.0.0 sürümünün temel özellikleri
- graphics-core kitaplığının resmi kararlı sürümü. 1.0.0-rc01 sürümündeki küçük hata düzeltmeleri ve performans iyileştirmelerini içerir.
Sürüm 1.0.0-rc01
17 Nisan 2024
androidx.graphics:graphics-core:1.0.0-rc01
iptal edilir. 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 olası çift kapanmasına neden olan sorun düzeltildi. FrameBuffer
öğesinin arabellek örneklerini düzgün şekilde silmemesine neden olan sorun düzeltildi.
Sürüm 1.0.0-beta01
13 Aralık 2023
androidx.graphics:graphics-core:1.0.0-beta01
iptal edilir. 1.0.0-beta01 sürümü şu commit'leri içerir.
Yeni Özellikler
- Görünüm hiyerarşisinde Android'in 2D grafik API'leriyle (Canvas + Paint) düşük gecikmeli oluşturmayı desteklemek için yeni bir
LowLatencyCanvasView
API kullanıma sunuldu. CanvasBufferedRenderer
API'si, donanım hızlandırmalı Canvas oluşturmayıHardwareBuffer
'e desteklemek için kullanıma sunuldu. Bu, kullanıcı arayüzünün bir bölümünüBitmap.wrapHardwareBuffer
API kullanılarak bit eşleme olarak 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 fence parametresine sahip olacak şekilde güncellendi.RenderResult#fence
değerinin ne zaman döndürüldüğünü açıklayan doküman güncellendi. (If1ea7)- Çizim isteklerini planlamak için eş yordamlardan yararlanmayı desteklemek üzere
draw
yönteminiRenderRequest
'ye ekleyin. Yürütücü tüketen önceki çizim yönteminidrawAsync
olarak yeniden adlandırdı.isClosed()
yöntemi, bir özelliğe yeniden düzenlendi. (I5bff6) CanvasFrontBufferRenderer
için arabellek biçimi parametresi kullanıma sunuldu. Böylece doğrudanCanvasBufferedRenderer.Builder#setBufferFormat
ile eşleme yapılabilecek (I0f272)- Donanım hızlandırmalı tuval oluşturmayı
HardwareBuffer
olarak işlemek içinCanvasBufferedRenderer
API'si oluşturuldu. Bu,HardwareBuffers
swapchain derinliğinin yapılandırılmasıyla birlikte Android Q'ya geri taşınmış bir uygulama sağlar.ColorSpace
yapılandırması hâlâ Android U+ ile sınırlı olsa da uyumluluk uygulaması, geliştiriciler adına işlem yapmama davranışı sağlar. (I9b1d8) - Sorunsuz veya varsayılan geçişler için değişiklik stratejisiyle birlikte kare hızını kontrol etmek amacıyla
SurfaceControlCompat.Transaction
'yesetFrameRate
/clearFrameRate
API'leri ekleyin. (I6045c) setDataSpace
için gerekli API düzeyi, Android T'den Android Q'ya düşürüldü. (I59c34)- Tüketicilere, arabellek artık sunulmadığında durumu temizleme fırsatı vermek için
GLFrameBufferRenderer
API'sineonBufferReleased
geri çağırma işlevi eklendi (I8a4e2). - Görüntü hiyerarşisi oluşturma ile senkronize edilen, düşük gecikmeli içerik oluşturma gibi basit bir kullanım alanını desteklemek için
LowLatencyCanvasView
oluşturun. Bu, sırasıyla senkronize ve düşük gecikmeli oluşturma için ekranda çevrilenSurfaceView
örneğini dahili olarak yöneterekSurfaceView
yönetimiyle ilişkili karmaşıklıkları azaltır. (I9253b) CanvasFrontBufferedRenderer
API'sine renk alanı yapılandırma desteği eklendi. Çoklu arabellekli geri çağırmalar, arka arabelleğe alınanSurfaceControl
'yı da 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
iptal edilir. 1.0.0-alpha05 sürümü şu commit'leri içerir.
Yeni Özellikler
GLFrameBufferRenderer
API'si 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
boyutlarını aktarmak için çeşitli geri çağırma API'lerine genişlik ve yükseklik parametreleri eklendi. (I7f9fc)- Hem ön hem de çoklu arabelleğe alınmış katmanları temizlemek için net API eklendi. (Ic1f95)
GLFrontBufferedRenderer
içinde kullanılan takas zincirlerinin temel arabellek türünü yapılandırma desteği eklendi. (I07a13)- Maksimum arabellek girişleri için
GLFrameBufferRenderer
,IntRange
notunda ve sırasıylasetFormat
/setUsage
içinHardwareBufferFormart
veHardwareBufferUsage
notlarında getter'lar için Kotlin özellikleri eklendi. (Ief89e) - Yayın sınırı sağlamak için
SurfaceControl
işlemlerindesetBuffer
API'si güncellendi. (Ice1bb) - Veri alanını yapılandırmanın yanı sıra 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
iptal edilir. 1.0.0-alpha04 sürümü şu commit'leri içerir.
Yeni Özellikler
- Mevcut OpenGL uygulamasının yanı sıra
android.graphics.Canvas
API'den yararlanan düşük gecikmeli grafiklerin desteklenmesi içinCanvasFrontBufferedRenderer
tanıtıldı.
API Değişiklikleri
- Karşılık gelen platform API'sini yansıtmak için boş değer atanabilir
HardwareBuffer
örneklerine izin verecek şekildeSurfaceControlCompat.Transaction#setBuffer
API'si güncellendi (I173d7). - Destekleyen 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)
- Üçüncü tarafların Canvas API'yi kullanarak ön arabellekli 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
simgesinin içeriği oluşturmaması sorunu düzeltildi. - Ön arabelleğe alınan içeriğin erken temizlenmesi sorunu düzeltildi.
- Düşük gecikmeli grafik API'leri yayınlandıktan sonra
SurfaceHolder.Callbacks
simgesinin kaldırılmaması sorunu düzeltildi.
Sürüm 1.0.0-alpha03
22 Mart 2023
androidx.graphics:graphics-core:1.0.0-alpha03
iptal edilir. 1.0.0-alpha03 sürümü şu commit'leri içerir.
API Değişiklikleri
- Arabellek genişliği/yüksekliği içeren
GLFrontBufferedRenderer
geri çağırma uygulaması güncellendi. Bu uygulama, ara çizim arabelleğine oluşturulduktan sonra orijinal hedefi yeniden hedeflemek için kullanılabilecek bir çerçeve arabelleği tanımlayıcısıyla birlikteBufferInfo
nesnesini sağlar. (I7fe20) SyncFence
oluşturma işlemi,SyncFenceCompat
üzerinde statik fabrika yöntemiyle birleştirildi.- SyncFence oluşturma için
SyncFenceCompat
fabrika yöntemi lehineeglDupNativeFenceFDANDROID
için herkese açık uyumluluk yöntemi 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
için doküman eklendi.FrameBufferRenderer
+FrameBuffer
+FrameBufferPool
,androidx.graphics.opengl
paketine taşındıSyncStrategy
,androidx.graphics.opengl
paketine taşındıRenderCallback#onDraw
dokümanı güncellendi- API uygulayıcısının
FrameBuffer.close
işlevini çağırmaktan sorumlu olduğuRenderCallback#obtainFrameBuffer
işlevinin güncellenmiş belgeleri - Tüketicilerin, gösterilecek içerikleri göndermekten sorumlu olduğunu belirtmek için
onDrawComplete
güncellendi - Çerçeveyi yansıtmak için
SyncFence
uyumluluk arayüzleri/sınıflarıandroidx.hardware
paketine taşındı. SyncFence
API'sinin adıSyncFenceV19
olarak değiştirildi ve mümkün olan her yerdeSyncFence
API'sini kullananSyncFenceCompat
'de kullanımları birleştirmek için özel hale getirildi. (I5149c)
GLFrontBufferedRenderer#cancel
veGLFrontBufferedRenderer#execute
yöntemleri eklendi. Birincisi, ön arabelleğe oluşturmanın iptal edilmesi ve ön arabelleğin gizlenmesi gereken avuç içiyle dokunmayı reddetme senaryolarında kullanışlıdır. İkincisi, GL iş parçacığındaki nesneleri oluşturmayı planlamadan değiştirme senaryolarında kullanışlıdır. (If0b7f)- Doğrudan çift arabellekli katmana oluşturmak için API ekleyin. Bu, devam ettirildikten sonra bir sahnenin yeniden oluşturulmasına yardımcı olmanın yanı sıra tüketicilere, oluşturulacak istenen sahneye göre ön arabellekli oluşturmayı dinamik olarak ne zaman kullanacaklarını seçme fırsatı da verir. (Ied56c)
SurfaceControlCompat.Builder
'ya yeni bir API eklendi. Bu API,SurfaceView
'deki mevcut mekanizmaya ek olarak başka birSurfaceControl
örneğinden üstSurfaceControl
'nin yapılandırılmasını destekler. (I1d1b6)- Kullanımdan kaldırılan ve gizlenen işlevlerin daha fazla dönüş türü null olabilir (Ibf7b0)
- Android cihazın,
EGL_ANDROID_get_native_client_buffer
örneklerininEGLImage
örneği olarak kullanılabilenEGLClientBuffer
nesnelerine aktarılmasını destekleyip desteklemediğini sorgulamak içinEGL_ANDROID_get_native_client_buffer
uzantı sabiti eklendi.HardwareBuffer
(Iad767) @JvmDefaultWithCompatibility
ek açıklamasının eklenmesi (I8f206)
Sürüm 1.0.0-alpha02
9 Kasım 2022
androidx.graphics:graphics-core:1.0.0-alpha02
iptal edilir. 1.0.0-alpha02 sürümü şu commit'leri içerir.
API Değişiklikleri
- Android S'te (I0a035) kullanıma sunulan
addTransactionCommitListener
için eksikRequiresApi
açıklaması düzeltildi. onDraw<Front/Double>
Arabellek geri çağırmaları, tüketicilerin mevcut arabellek genişliği/yüksekliğine ek olarak köşe gölgelendiricilerine iletebileceği bir dönüştürme matrisi sağlayacak şekilde güncellendi. Tüketiciler, OpenGL oluşturma kodlarını uygun şekilde önceden döndürmek için bu parametreleri kullanmaktan sorumludur. (I82f9e)
Hata Düzeltmeleri
SurfaceControl
işlemleri yayınlanmadan önce arabellekler önceden döndürülerek grafik gecikmesi iyileştirildi.- Hata günlüklerinde 300d (EGL_BAD_SURFACE) hatasının gösterilmesine neden olan sorun düzeltildi.
GLFrontBufferedRenderer
öğesinin, içinde kullanıldığı ilgili Etkinlik devam ettirildikten sonra geçersiz olmasına neden olan sorun düzeltildi.- Emülatörler ve ChromeOS cihazlar için daha fazla destek.
- Ön arabellekli katmanın erken gizlenmesiyle ilgili sorun düzeltildi.
Sürüm 1.0.0-alpha01
24 Ekim 2022
androidx.graphics:graphics-core:1.0.0-alpha01
iptal edilir. 1.0.0-alpha01 sürümü şu commit'leri içerir.
Yeni Özellikler
- Graphics Core AndroidX kitaplığının ilk sürümü. Bu, ekran kalemi girişi gibi düşük gecikmeli kullanım alanlarını destekleyen API'leri içerir. Bu, OpenGL kullanımı için bazı yardımcı API'leri de sunar.
API Değişiklikleri
- Hem düşük gecikme süresi hem de yüksek kaliteli oluşturma çıkışı elde etmek için ön ve çoklu arabelleğe alınmış oluşturmaya yardımcı olacak
GLFrontBufferedRenderer
özelliğini sunar. GLRenderer
,TextureView
gibi çeşitli Surface sağlayıcılar için OpenGL oluşturmaya yardımcı olacakGLRenderer
API'sini kullanıma sunar.SurfaceView