grafik

  
Birden fazla Android platform sürümünde grafik özelliklerinden yararlanma

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
Bu kitaplık en son 11 Aralık 2024'te güncellenmiştir.

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.

Yeni sorun oluşturma

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 öğesindeki d özelliğinin değeri) List<Feature> olarak dönüştürmek için yeni SvgPathParser.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)
  • Poligon özelliklerini ve özellik türlerini gösterin. Artık List<Features> alan temel kurucu ile daha genel RoundedPolygons 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 paralel calculateBounds() 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() ve pillStar() 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 bir Point'un x ve y koordinatlarını alıyor ve dönüştürülmüş x ve y koordinatlarıyla oluşturulan bir TransformedResult 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 parametreleri Float çifti olarak değiştirildi (Id4705, b/276466399, b/290254314)
  • progress artık doğrudan Morph çizim komutlarına iletiliyor (Icdca2)

Hata Düzeltmeleri

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 önceki innerRadiusRatio parametresi yerine innerRadius 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çin numOuterVertices parametresi numVerticesPerRadius 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

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çin CanvasBufferedRenderer 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öntemini RenderRequest sınıfına ekleyin.draw Bir yürütücü tüketen önceki draw yöntemini drawAsync 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çin CanvasFrontBufferRenderer için arabellek biçimi parametresi gösterildi (I0f272)
  • Donanım hızlandırmalı tuval oluşturmayı HardwareBuffer olarak işlemek için CanvasBufferedRenderer 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 öğesine setFrameRate/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'ye onBufferReleased 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 çevrilen SurfaceView örneğini dahili olarak yöneterek SurfaceView 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 ve SurfaceControl 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çin IntRange notu ve sırasıyla setFormat/setUsage için HardwareBufferFormart ve HardwareBufferUsage notları eklendi. (Ief89e)
  • Sürüm çiti sağlamak için SurfaceControl işlemlerindeki setBuffer 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çin CanvasFrontBufferedRenderer kullanıma sunuldu

API Değişiklikleri

  • Boş değer atanabilir HardwareBuffer örneklerinin ilgili platform API'sini yansıtmasına izin vermek için SurfaceControlCompat.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 bir BufferInfo nesnesi sağlamak üzere güncellendi. (I7fe20)
  • SyncFence oluşturma işlemini SyncFenceCompat'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ğru SyncFence uygulamasını almasını sağlamak içindir. (I849bb)
  • FrameBufferRenderer ve SyncStrategy 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 olan RenderCallback#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'si SyncFenceV19 olarak yeniden adlandırıldı ve mümkün olduğunda çerçevenin SyncFence API'sinden yararlanan SyncFenceCompat ile kullanımları birleştirmek için özel hale getirildi. (I5149c)
  • GLFrontBufferedRenderer#cancel ve GLFrontBufferedRenderer#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 bir SurfaceControl örneğinden yapılandırılmasını desteklemek için SurfaceControlCompat.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 örneklerini EGLImage örneği olarak kullanılabilen EGLClientBuffer nesnelerine içe aktarmayı destekleyip desteklemediğini sorgulamak için EGL_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 eksik RequiresApi 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 üzere GLRenderer API'yi kullanıma sunar.