grafikler

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

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.4 - - -
graphics-path 1.1.0 - - -
graphics-shapes 1.1.0 - - -
Bu kitaplık en son şu tarihte güncellenmiştir: 6 Mayıs 2026

Bağımlılıkları bildirme

Grafikler'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.4"
    implementation "androidx.graphics:graphics-path:1.1.0"
    implementation "androidx.graphics:graphics-shapes:1.1.0"
}

Kotlin

dependencies {
    implementation("androidx.graphics:graphics-core:1.0.4")
    implementation("androidx.graphics:graphics-path:1.1.0")
    implementation("androidx.graphics:graphics-shapes:1.1.0")
}

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 varsa 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.

Yeni sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.

Bu yapı için sürüm notu yok.

Grafikler-Şekiller

Sürüm 1.1

Sürüm 1.1.0

22 Ekim 2025

androidx.graphics:graphics-shapes:1.1.0 iptal edilir. 1.1.0 sürümü bu commit'leri içerir.

Sürüm 1.1.0-rc01

10 Eylül 2025

androidx.graphics:graphics-shapes:1.1.0-rc01 iptal edilir. 1.1.0-rc01 sürümü bu commit'leri içerir.

Sürüm 1.1.0-beta01

30 Temmuz 2025

androidx.graphics:graphics-shapes:1.1.0-beta01 iptal edilir. 1.1.0-beta01 sürümü bu commit'leri içerir.

API Değişiklikleri

  • Kotlin 2.0 ile yayınlanan projelerin kullanılabilmesi için KGP 2.0.0 veya daha yeni bir sürüm gerekir (Idb6b5).
  • mingwX64, js ve wasm derleme hedefleri eklendi. (I2c46a)

Sürüm 1.1.0-alpha01

11 Aralık 2024

androidx.graphics:graphics-shapes: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 şekilleri içe aktarabilir, otomatik işlemde kaçırılan özellikleri 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 seri hale getirici eklendi. Normal akış şöyledir:
    • Bir SVG yolunu (SVG'nin path öğesindeki d özelliğinin değeri) List<Feature>'ye dönüştürmek için yeni SvgPathParser.parseFeatures() işlevini kullanın.
    • Bu, değiştirilebilir ve ardından FeatureSerializer.serialize() ile dizeye dönüştürülebilir.
    • 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)
  • Poligon özelliklerini ve özellik türlerini gösterin. Artık List<Features> alanını alan temel oluşturucuyla daha fazla genel RoundedPolygons oluşturulabilir. Özellikler temel olarak kübik Bezier eğrileri listesidir ancak dönüştürme algoritmasının başlangıç ve bitiş şekillerini eşleştirmesine 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 eklendi. (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 bir hata düzeltildi. (I83ddb)
  • Çokgenin merkezini tahmin eden algoritmadaki bir hata düzeltildi. (Ida147)

Sürüm 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 aynı işlevlere paralel olarak 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() ve pillStar() işlevleri sunuyor. Ayrıca, bir şekil için gereken tam sınırları (önceki sınırlar, temel Bezier eğrisi tutturma ve kontrol noktalarına dayalı yalnızca bir tahmindi) ve olası maksimum sınırları hesaplamak için yeni API'ler de vardır. Bu API'ler, şeklin döndürülmesi durumunda onu tutan kapsayıcının boyutunu belirlemek için yararlı olabilir. (I71827)

API Değişiklikleri

  • Artık tam ve maksimum sınırlara ulaşmak için daha fazla seçenek sunuluyor. (I6d49f, b/317286450)

Hata Düzeltmeleri

  • Bu şekiller, sıfır uzunluklu eğrilerle ilgili düşük düzeyli bir oluşturma sorunu nedeniyle konturlu yollar olarak çizilirken zaman zaman oluşturma artefaktları oluşuyordu. Bu hata, sıfır uzunluktaki tüm eğriler (şekillerin ihtiyacı olmadığı için şekillerin oluşturduğu yolların ek yükünü de azaltır) 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'deki değişikliklerin çoğu, Shapes kitaplığını KMP ile uyumlu hale getiriyor. Bu sayede, Android olmayan koddan (ör. Android'den bağımsız Compose kodu) 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 nedenlerden dolayı 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ık Point öğesinin x ve y koordinatlarını alıp TransformedResult 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 özellik adları artık daha mantıklı (If13bd, b/294562941)
  • PointF parametreleri Float çift 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 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 ile ilgili hata düzeltildi (Ibf894)
  • Başlangıç ve bitiş şekli aynı olduğunda oluşan hata düzeltildi. Kesim için yandaki boş alanı daha iyi dağıtın. Önce yuvarlama için, boş alan kalırsa da düzeltme için boş alanı 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 (önceki gibi RoundedPolygon döndürmeye devam eder) artık önceki innerRadiusRatio parametresi yerine innerRadius değeri alır. Bu parametre, mevcut yarıçap parametresiyle aynı birimdedir. Bu sayede, işlemler daha basit ve tutarlı hale gelir. Ayrıca, aynı sayının hem iç hem de dış yarıçaplara uygulandığını netleştirmek için numOuterVertices parametresinin adı numVerticesPerRadius olarak değiştirildi.
  • CornerRounding.radius daha önce poligonun boyutuyla ilişkili olarak belgelenmişti ancak bu değer 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'sini 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.

Graphics-Path

Sürüm 1.1

Sürüm 1.1.0

6 Mayıs 2026

androidx.graphics:graphics-path:1.1.0 iptal edilir. 1.1.0 sürümü bu commit'leri içerir.

Sürüm 1.1.0-rc01

11 Mart 2026

androidx.graphics:graphics-path:1.1.0-rc01 iptal edilir. 1.1.0-rc01 sürümü bu commit'leri içerir.

Sürüm 1.1.0-beta01

17 Aralık 2025

androidx.graphics:graphics-path:1.1.0-beta01 iptal edilir. 1.1.0-beta01 sürümü bu commit'leri içerir.

Sürüm 1.0

Sürüm 1.1.0-alpha01

13 Ağustos 2025

androidx.graphics:graphics-path:1.1.0-alpha01 iptal edilir. 1.1.0-alpha01 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Konik eğriden kuadratik eğriye dönüşüm için uygulama ekleyin ve bunu ana makine platformlarında kullanın. f059b1

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 tümü, 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ün. (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

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ışı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 segmentlerin işlemini ve verilerini 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

Sürüm 1.0

Sürüm 1.0.4

3 Aralık 2025

androidx.graphics:graphics-core:1.0.4 iptal edilir. 1.0.4 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Belirli cihazlarda uyumluluğu ve performansı iyileştirme

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 sürümünün yüklü olduğu belirli cihazlarda çizim yaparken tam ekranın 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 mevcut 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ştirmeleri 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 potansiyel olarak iki kez kapatılması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

  • View 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ş yordamların kullanılmasını desteklemek üzere draw yöntemini RenderRequest öğesine ekleyin. Yürütücü tüketen önceki çizim yönteminin adı drawAsync olarak değiştirildi. isClosed() yöntemi, bir özelliğe yeniden düzenlendi. (I5bff6)
  • CanvasFrontBufferRenderer için arabellek biçimi parametresi kullanıma sunuldu. Böylece doğrudan CanvasBufferedRenderer.Builder#setBufferFormat ile eşleme yapılabilecek (I0f272)
  • Donanım hızlandırmalı kanvas oluşturmayı HardwareBuffer içine aktarmak için CanvasBufferedRenderer 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 no-op 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'ye 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 arabellek artık sunulmadığında durumu temizleme fırsatı vermek için GLFrameBufferRenderer API'sine onBufferReleased geri çağırma işlevi eklendi (I8a4e2).
  • Görünüm hiyerarşisiyle 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 çevrilen SurfaceView örneğini dahili olarak yöneterek SurfaceView 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ınmış SurfaceControl'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 ve SurfaceControl yapılandırmasının bir kombinasyonunu sağlar. (Ic775b)

API Değişiklikleri

  • Boyutları SurfaceHolder#Callbacks öğesinden aktarmak için çeşitli geri çağırma API'lerine genişlik ve yükseklik parametreleri eklendi. (I7f9fc)
  • Hem ön hem de çoklu arabellekli katmanları temizlemek için clear API eklendi. (Ic1f95)
  • GLFrontBufferedRenderer içinde kullanılan takas zincirlerinin temel arabellek türünü yapılandırma desteği eklendi. (I07a13)
  • GLFrameBufferRenderer, maksimum arabellek girişleri için IntRange ek açıklaması ve sırasıyla setFormat/setUsage için HardwareBufferFormart ve HardwareBufferUsage ek açıklamalarında getter'lar için Kotlin özellikleri eklendi. (Ief89e)
  • Yayınlanma sınırı sağlamak için SurfaceControl işlemlerinde setBuffer 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 yararlanarak düşük gecikmeli grafiklerin desteklenmesi için CanvasFrontBufferedRenderer 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 şekilde SurfaceControlCompat.Transaction#setBuffer API'si 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)
  • Üçü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

  • GLFrontBufferedRenderer geri çağırma uygulaması, arabellek genişliği/yüksekliği içeren BufferInfo nesnesi sağlayacak şekilde güncellendi. Bu nesne, ara çizim arabelleğine oluşturulduktan sonra orijinal hedefi yeniden hedeflemek için kullanılabilecek bir çerçeve arabelleği tanımlayıcısı içerir. (I7fe20)
  • SyncFence oluşturma işlemi, SyncFenceCompat üzerinde statik fabrika yöntemiyle birleştirildi.
  • SyncFence oluşturma için SyncFenceCompat fabrika yöntemi lehine eglDupNativeFenceFDANDROID için herkese açık uyumluluk yöntemi kaldırıldı. Bunun amacı, API düzeyinden bağımsız olarak tüm API yüzeylerinin doğru SyncFence uygulamasını almasını sağlamaktır. (I849bb)
  • FrameBufferRenderer ve SyncStrategy ile ilgili 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ğu RenderCallback#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üzü/sınıfı androidx.hardware paketine taşındı
    • SyncFence API'sinin adı SyncFenceV19 olarak değiştirildi ve SyncFenceCompat'de kullanımları birleştirmek için özel hale getirildi. SyncFenceCompat, mümkün olan her yerde çerçevenin SyncFence API'sini kullanır. (I5149c)
  • GLFrontBufferedRenderer#cancel ve GLFrontBufferedRenderer#execute yöntemleri eklendi. Ön tampona oluşturmanın iptal edilmesi ve ön tamponun gizlenmesi gereken avuç içiyle dokunmayı reddetme senaryolarında bu yöntem 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'daki mevcut mekanizmaya ek olarak başka bir SurfaceControl örneğinden üst SurfaceControl'nin yapılandırılmasını destekler. (I1d1b6)
  • Desteği sonlandırılan ve gizlenen işlevlerin daha fazla dönüş türü null değer alabilme özelliği (Ibf7b0)
  • Android cihazın, EGL_ANDROID_get_native_client_buffer örneklerinin EGLImage örneği olarak kullanılabilen EGLClientBuffer nesnelerine aktarılmasını destekleyip desteklemediğini sorgulamak için EGL_ANDROID_get_native_client_buffer uzantı sabiti eklendi.HardwareBuffer (Iad767)
  • @JvmDefaultWithCompatibility ek açıklaması ekleniyor (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 eksik RequiresApi açıklaması düzeltildi.
  • onDraw<Front/Double> Arabellek geri çağırmaları, mevcut arabellek genişliği/yüksekliğine ek olarak tüketicilerin 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, 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

  • Grafik çekirdeği AndroidX kitaplığının ilk sürümü. Buna, ekran kalemi girişi gibi düşük gecikmeli kullanım alanlarını destekleyen API'ler dahildir. 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 çıktısı elde etmek için ön ve çoklu arabelleğe alınmış oluşturmaya yardımcı olan GLFrontBufferedRenderer özelliğini kullanıma sunar.
  • GLRenderer, TextureView gibi çeşitli Surface sağlayıcılar için OpenGL oluşturmaya yardımcı olacak GLRenderer API'sini kullanıma sunar.SurfaceView