Grafiken

  
Grafikfunktionen für mehrere Releases der Android-Plattform nutzen

In dieser Tabelle sind alle Artefakte in der Gruppe androidx.graphics aufgeführt.

Artefakt Stabile Version Releasekandidat Beta-Ausgabe Alpha-Release
Grafikkern 1.0.1 - -
Grafikpfad 1.0.1 - -
Grafikformen 1.0.1 - -
Letzte Aktualisierung dieser Mediathek: 4. September 2024

Abhängigkeiten deklarieren

Um eine Abhängigkeit von Grafiken hinzuzufügen, müssen Sie das Maven-Repository von Google zu Ihrem Projekt arbeiten. Maven-Repository von Google lesen .

Fügen Sie der Datei build.gradle die Abhängigkeiten für die Artefakte hinzu, die Sie benötigen Ihre App oder Ihr Modul:

Cool

dependencies {
    implementation "androidx.graphics:graphics-core:1.0.1"
    implementation "androidx.graphics:graphics-path:1.0.1"
    implementation "androidx.graphics:graphics-shapes:1.0.1"
}

Kotlin

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

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Dein Feedback hilft uns, Jetpack zu verbessern. Teilen Sie uns mit, wenn Sie neue Ausgaben entdecken oder zur Verbesserung dieser Bibliothek. In der bestehende Probleme in dieser Bibliothek, bevor Sie eine neue erstellen. So können Sie für ein vorhandenes Problem abstimmen: indem Sie auf die Sternschaltfläche klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung. .

Für dieses Artefakt gibt es keine Versionshinweise.

Graphics Shapes Version 1.0

Version 1.0.0

21. August 2024

androidx.graphics:graphics-shapes:1.0.0, androidx.graphics:graphics-shapes-android:1.0.0 und androidx.graphics:graphics-shapes-desktop:1.0.0 wurden veröffentlicht. Version 1.0.0 enthält diese Commits.

Version 1.0.0-rc01

24. Juli 2024

androidx.graphics:graphics-shapes:1.0.0-rc01, androidx.graphics:graphics-shapes-android:1.0.0-rc01 und androidx.graphics:graphics-shapes-desktop:1.0.0-rc01 wurden veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.

Version 1.0.0-beta01

1. Mai 2024

androidx.graphics:graphics-shapes:1.0.0-beta01, androidx.graphics:graphics-shapes-android:1.0.0-beta01 und androidx.graphics:graphics-shapes-desktop:1.0.0-beta01 wurden veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.

API-Änderungen

  • Vordrehen der Formen an einem anderen Punkt zulassen. Durch diese Änderung können die Kurven von pillStar-Formen an einem nicht standardmäßigen Punkt im Umfang beginnen. Dies kann nützlich sein, wenn Sie die Bewegung des Pfads der Form animieren, um von einer bestimmten Stelle auf dem Umriss der Form zu zeichnen. (Ifbb4d, b/324303807)
  • Morph wurde um calculateBounds()-Funktionen ergänzt, die zu den gleichen Funktionen für RoundedPolygon führen. (I8a3b6, b/325463575)

Version 1.0.0-alpha05

7. Februar 2024

androidx.graphics:graphics-shapes:1.0.0-alpha05, androidx.graphics:graphics-shapes-android:1.0.0-alpha05 und androidx.graphics:graphics-shapes-desktop:1.0.0-alpha05 wurden veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.

Neue Funktionen

  • Die Bibliothek bietet jetzt neue pill()- und pillStar()-Funktionen zum einfachen Erstellen dieser abgerundeten/markierten Formen. Es gibt auch neue APIs zum Berechnen der exakten Grenzen, die für eine Form erforderlich sind (die vorherigen Grenzen waren nur eine Schätzung basierend auf den Anker- und Kontrollpunkten der zugrunde liegenden Bezierkurve) sowie die maximal möglichen Grenzen, die hilfreich sein können, um die Größe des Containers zu bestimmen, der ihn enthält, wenn er innerhalb dieses Containers gedreht wird. (I71827)

API-Änderungen

  • Es gibt jetzt mehr Optionen zum Abrufen exakter und maximaler Grenzen. (I6d49f, b/317286450)

Fehlerkorrekturen

  • Beim Zeichnen dieser Formen als strichförmige Pfade traten gelegentlich Rendering-Artefakte auf, was auf ein Rendering-Problem auf niedriger Ebene im Zusammenhang mit Kurven der Länge Nullen zurückzuführen war. Dieser Fehler wurde behoben, indem alle Kurven mit Nulllänge entfernt wurden (was für die Formen nicht erforderlich ist, wodurch auch der Aufwand für die durch die Formen erzeugten Pfade gespart wurde).

Version 1.0.0-alpha04

13. Dezember 2023

androidx.graphics:graphics-shapes:1.0.0-alpha04, androidx.graphics:graphics-shapes-android:1.0.0-alpha04 und androidx.graphics:graphics-shapes-desktop:1.0.0-alpha04 wurden veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.

Neue Funktionen

  • Diese Version enthält verschiedene API-Änderungen sowie Fehlerkorrekturen.
  • Viele der API-Änderungen machen die Shapes-Bibliothek KMP-freundlich. Dadurch wird es einfacher, über Nicht-Android-Code wie Android-unabhängigen Compose-Code aufzurufen. In der API sind beispielsweise keine Android-Typen wie die vorherigen PointF-, Matrix- und Path-Typen vorhanden.
  • Außerdem wurden aus Leistungsgründen mehrere Änderungen an APIs und Implementierung vorgenommen, insbesondere um die Objektzuweisung (und -sammlung) zu minimieren. Wenn Sie beispielsweise von PointF zu separaten Float-Parametern wechseln, wird vermieden, dass viele temporäre PointF-Strukturen zur Aufnahme dieser Eckpunkte zugewiesen werden.

API-Änderungen

  • Morph.asMutableCubics wurde durch eine Funktion ersetzt, um über MutableCubics zu iterieren. Die PointTransformer-Funktionsoberfläche wurde geändert. Sie verwendet jetzt die x- und y-Koordinaten einer Point und gibt eine TransformedResult zurück, die mit den transformierten x- und y-Koordinaten konstruiert wird (I6719e).
  • Der öffentliche Cubic-Konstruktor wurde entfernt und in eine Factory-Funktion umgewandelt. (I409ce)
  • Android-spezifische Transformations- und Zeichen-APIs hinzufügen (I079f6, b/292289543)
  • Android-Abhängigkeiten entfernen (Iadc1c, b/292289543)
  • Namen von Anker- und Steuerelementeigenschaften sind jetzt sinnvoller (If13bd, b/294562941).
  • PointF-Parameter wurden in Float-Paare geändert (Id4705, b/276466399, b/290254314)
  • progress wird jetzt direkt an Morph-Zeichenbefehle übergeben (Icdca2).

Fehlerkorrekturen

Version 1.0.0-alpha03

7. Juni 2023

androidx.graphics:graphics-shapes:1.0.0-alpha03 wurde veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.

API-Änderungen

  • Neue RoundedPolygon.rectangle()-Funktion hinzugefügt (I78e7e, b/280322189)
  • Die Funktionen „Stern“ und „Kreis“ werden jetzt nicht mehr großgeschrieben und über das Companion-Objekt von RoundedPolygon aufgerufen, z.B. RoundedPolygon.star(...)(I14735)

Fehlerkorrekturen

  • Fehler bei der Glättung behoben (Ibf894)
  • Es wurde ein Fehler behoben, der auftrat, wenn Start- und Endform identisch waren. Verteilen Sie den verfügbaren Platz auf der Seite für die Schnitte besser. Verwenden Sie zuerst den verfügbaren Platz zum Runden und dann zum Glätten, wenn noch Platz vorhanden ist. (Ibd320, b/277936300)

Version 1.0.0-alpha02

19. April 2023

androidx.graphics:graphics-shapes:1.0.0-alpha02 wurde veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

API-Änderungen

  • Die Basisklasse von Polygon wurde mit ihrer Unterklasse RoundedPolygon zusammengeführt. Alle Polygone sind jetzt [optional] abgerundete Polygone.
  • Die Stern-Funktion, die wie zuvor immer noch RoundedPolygon zurückgibt, verwendet jetzt einen innerRadius-Wert anstelle des vorherigen innerRadiusRatio-Parameters. Dieser wird in den gleichen Einheiten wie der vorhandene radius -Parameter verwendet, was die Dinge einfacher und einheitlicher macht. Außerdem wurde der Parameter numOuterVertices in numVerticesPerRadius umbenannt, um zu verdeutlichen, dass dieselbe Zahl auf die inneren und äußeren Radien angewendet wird.
  • Bisher wurde dokumentiert, dass CornerRounding.radius relativ zur Größe des Polygons ist, aber es war (und sollte) ein absoluter und kein relativer Wert sein. Die Dokumente wurden aktualisiert und die Annotation, die den Höchstwert auf 1,0 beschränkt hat, wurde korrigiert.

Version 1.0.0-alpha01

5. April 2023

Graphics-Shapes ist eine neue Bibliothek, die das einfache Erstellen und Rendern abgerundeter Polygonformen sowie das einfache und automatische Morphing (Animation) zwischen verschiedenen Formen ermöglicht.

androidx.graphics:graphics-shapes:1.0.0-alpha01 wurde veröffentlicht. Diese Version wurde von einem internen Zweig freigegeben.

Neue Funktionen

  • Verwenden Sie die Polygon API, um reguläre Polygone und Sternpolygone mit der gewünschten Anzahl von Scheitelpunkten zu erstellen.
  • Mit den optionalen CornerRounding-Parametern können Sie den Rundungsradius und die Glättungsparameter für die Ecken angeben. Dadurch entstehen polygonale Formen mit abgerundeten Ecken.
  • Mit der neuen Morph(Polygon, Polygon) API lässt sich automatisch eine Morphenform berechnen, deren Fortschritt von 0 bis 1 festgelegt werden kann, um zwischen Start- und Endform zu animieren. Animieren Sie diesen Fortschritt im Zeitverlauf und zeichnen Sie das Ergebnis auf jedem Frame, um zwischen diesen neuen abgerundeten Formen eine flüssige Animation zu erzeugen.

Graphics Path Version 1.0

Version 1.0.1

1. Mai 2024

androidx.graphics:graphics-path:1.0.1 wurde veröffentlicht. Version 1.0.1 enthält diese Commits.

Fehlerkorrekturen

  • Verbesserungen an Compiler-Flags.

Version 1.0.0

6. März 2024

androidx.graphics:graphics-path:1.0.0 wurde veröffentlicht.

Version 1.0.0-rc01

21. Februar 2024

androidx.graphics:graphics-path:1.0.0-rc01 wurde veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.

Fehlerkorrekturen

  • Verbessern Sie die Leistung von PathIter bei API < 34 (Id4629)

Version 1.0.0-beta02

10. Januar 2024

Bei den Änderungen in dieser Version ging es darum, die Größe der Bibliothek zu reduzieren, was aufgrund der Annahmen von nativem Code größer als notwendig war.

androidx.graphics:graphics-path:1.0.0-beta02 wurde veröffentlicht. Version 1.0.0-beta02 enthält diese Commits.

Fehlerkorrekturen

  • Die Größe von libandroidx.graphics.path.so wurde um 96 % reduziert. (I71397)
  • Verringere die Größe von libandroidx.graphics.path.so um 5%. (I2da7c)
  • Die nativen Komponenten von androidx.graphics:graphics-path wurden um 43 % reduziert. (I8e40d)

Version 1.0.0-beta01

29. November 2023

androidx.graphics:graphics-path:1.0.0-beta01 wurde veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.

API-Änderungen

Fehlerkorrekturen

  • Verschiedene Fehlerbehebungen und Leistungsverbesserungen, einschließlich der Art und Weise, wie die Bibliothek mit Kegeln umgeht.

Version 1.0.0-alpha02

7. Juni 2023

androidx.graphics:graphics-path:1.0.0-alpha02 wurde veröffentlicht. Diese Version wird in einem internen Zweig entwickelt.

Neue Funktionen

  • Es wurde ein Problem mit der internen Plattformversionsprüfung behoben, die Probleme bei der Ausführung von Android 14-Vorschauen verursachte. Die Versionsprüfung konnte zwar fehlschlagen, aber der Mechanismus für vorherige Releases funktionierte nicht richtig, insbesondere unter Android 14.

Version 1.0.0-alpha01

22. März 2023

androidx.graphics:graphics-path:1.0.0-alpha01 wurde veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Mit dieser neuen Bibliothek können Pfaddaten über die neue PathIterator API abgefragt werden. Mit dieser API können Aufrufer durch alle Segmente eines Pfadobjekts iterieren, um den Vorgang und die Daten für diese Segmente zu ermitteln.
  • Die Bibliothek verwendet ähnliche APIs, die in der Android 14-Vorschau eingeführt wurden, aber diese AndroidX-Version der API funktioniert auch mit Versionen ab API 21.

Graphics Core Version 1.0

Version 1.0.1

4. September 2024

androidx.graphics:graphics-core:1.0.1 wurde veröffentlicht. Version 1.0.1 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem wurde behoben, bei dem Arbeitsspeicherressourcen gelegentlich nicht freigegeben wurden.

Version 1.0.0

29. Mai 2024

androidx.graphics:graphics-core:1.0.0 wurde veröffentlicht. Version 1.0.0 enthält diese Commits.

Hauptfunktionen von Version 1.0.0

  • Offizielle stabile Version der Grafikkernbibliothek Beinhaltet kleinere Fehlerkorrekturen und Leistungsverbesserungen von 1.0.0-rc01.

Version 1.0.0-rc01

17. April 2024

androidx.graphics:graphics-core:1.0.0-rc01 wurde veröffentlicht. Diese Version wird in einem internen Zweig entwickelt.

Fehlerkorrekturen

  • Ein Problem wurde behoben, das bei bestimmten Android-Geräten mit Android 14 dazu führte, dass Dateideskriptoren mit der CanvasBufferedRendererAPI möglicherweise doppelt geschlossen wurden.
  • Ein Problem wurde behoben, bei dem Framebuffer-Instanzen von FrameBuffer nicht ordnungsgemäß gelöscht wurden.

Version 1.0.0-beta01

13. Dezember 2023

androidx.graphics:graphics-core:1.0.0-beta01 wurde veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.

Neue Funktionen

  • Einführung einer neuen LowLatencyCanvasView API zur Unterstützung des Renderings mit niedriger Latenz mit den 2D-Grafik-APIs von Android (Canvas + Paint) innerhalb der Ansichtshierarchie.
  • Einführung der CanvasBufferedRenderer API zur Unterstützung des hardwarebeschleunigten Canvas-Renderings auf ein HardwareBuffer. Damit kann ein Teil einer Benutzeroberfläche in einen Zwischenspeicher gezeichnet werden, der dann mithilfe der Bitmap.wrapHardwareBuffer API in eine Bitmap konvertiert werden kann.

API-Änderungen

  • Die CanvasBufferRenderer#releaseBuffer API wurde mit einem optionalen Fence-Parameter aktualisiert. Die Dokumentation wurde aktualisiert, um zu beschreiben, wann RenderResult#fence zurückgegeben wird. (If1ea7)
  • Die Methode draw wurde zu RenderRequest hinzugefügt, um die Nutzung von Koroutinen zum Planen von Zeichenanfragen zu unterstützen. Die vorherige Zeichnungsmethode, die einen Executor verbraucht hat, wurde in drawAsync umbenannt. Die Methode isClosed() wurde auf eine Property umgestellt. (I5bff6)
  • Parameter für Zwischenspeicherformat wurde CanvasFrontBufferRenderer für eine direkte Zuordnung zu CanvasBufferedRenderer.Builder#setBufferFormat bereitgestellt (I0f272)
  • Es wurde die CanvasBufferedRenderer API zur Verarbeitung des hardwarebeschleunigten Canvas-Renderings in eine HardwareBuffer erstellt. Dies ermöglicht eine rückportierte Implementierung zu Android Q sowie die Konfiguration einer Swapchain-Tiefe von HardwareBuffers. Die Konfiguration von ColorSpace ist immer noch auf Android U und höher beschränkt, die kompatible Implementierung bietet jedoch ein managementfreies Verhalten der Entwickler (I9b1d8)
  • Füge setFrameRate/clearFrameRate APIs zu SurfaceControlCompat.Transaction hinzu, um die Framerate zusammen mit der Änderungsstrategie für nahtlose oder Standardübergänge zu steuern. (I6045c)
  • Das erforderliche API-Level für setDataSpace wurde von Android T auf Android Q gesenkt. (I59c34)
  • Der GLFrameBufferRenderer API wurde ein onBufferReleased-Callback hinzugefügt, um Nutzern die Möglichkeit zu geben, den Status zu bereinigen, wenn kein Zwischenspeicher mehr vorhanden ist (I8a4e2).
  • Erstellen Sie LowLatencyCanvasView für einen einfachen Anwendungsfall, bei dem Inhalte mit niedriger Latenz gerendert werden, die mit dem Rendering der Ansichtshierarchie synchronisiert werden. Dadurch werden die mit der SurfaceView-Verwaltung verbundenen Komplexitäten verringert, indem die SurfaceView-Instanz intern verwaltet wird, die für ein synchronisiertes bzw. Rendering mit niedriger Latenz aus dem Bildschirm bzw. auf dem Bildschirm übersetzt wird. (I9253b)
  • Die Unterstützung für die Konfiguration des Farbraums wurde der CanvasFrontBufferedRenderer API hinzugefügt. Mehrfach zwischengespeicherte Callbacks wurden aktualisiert, sodass sie auch das zurückgepufferte SurfaceControl (I24bd9) enthalten.

Version 1.0.0-alpha05

6. September 2023

androidx.graphics:graphics-core:1.0.0-alpha05 wurde veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.

Neue Funktionen

  • Einführung der GLFrameBufferRenderer API. Dies bietet eine Kombination aus OpenGL-Abhängigkeiten, Konfiguration der Auslagerungskette, Pixelformaten und SurfaceControl-Konfiguration. (IC775b)

API-Änderungen

  • Mehreren Callback-APIs Parameter für Breite und Höhe hinzugefügt, um Pipe-Dimensionen aus SurfaceHolder#Callbacks zu verwenden. (I7f9fc)
  • Es wurde eine klare API zum Löschen sowohl der vorderen als auch der mehrfach zwischengespeicherten Ebenen hinzugefügt. (IC1f95)
  • Unterstützung für die Konfiguration des zugrunde liegenden Zwischenspeichertyps von Swapchains, die in GLFrontBufferedRenderer verwendet werden, wurde hinzugefügt. (I07a13)
  • Kotlin-Eigenschaften für Getter in GLFrameBufferRenderer, IntRange-Anmerkung für maximale Puffereinträge und HardwareBufferFormart- und HardwareBufferUsage-Anmerkungen für setFormat/setUsage wurden hinzugefügt. (Ief89e)
  • Die setBuffer API für SurfaceControl-Transaktionen wurde aktualisiert, um einen Release-Fence bereitzustellen. (Ice1bb)
  • SurfaceControlCompat.Transaction APIs wurden hinzugefügt, um den Datenbereich zu konfigurieren und den erweiterten Helligkeitsbereich festzulegen. (IC378d)

Version 1.0.0-alpha04

7. Juni 2023

androidx.graphics:graphics-core:1.0.0-alpha04 wurde veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.

Neue Funktionen

  • Einführung von CanvasFrontBufferedRenderer zur Unterstützung von Grafiken mit niedriger Latenz durch Nutzung der android.graphics.Canvas API neben der bestehenden OpenGL-Implementierung

API-Änderungen

  • Die SurfaceControlCompat.Transaction#setBuffer API wurde aktualisiert, damit HardwareBuffer-Instanzen, für die Nullwerte zulässig sind, die entsprechende Plattform-API spiegeln können (I173d7).
  • Benennen Sie Methoden um, die sich auf das Rendering mit dem Double Buffered-Format beziehen, stattdessen in „Multi Buffered“, da die Backing-Swapchain mehr als zwei Puffer enthalten kann. (I830d7)
  • Erstellen Sie die CanvasFrontBufferedRenderer API, um 3ps zu ermöglichen, ein Frontbuffer-Renderingsystem mit der Canvas API zu nutzen. (Ibfc29)

Fehlerkorrekturen

  • Ein Problem wurde behoben, durch das GLFrontBufferedRenderer nach Fortsetzen der entsprechenden Aktivität keine Inhalte renderte.
  • Ein Problem wurde behoben, durch das vorgepufferte Inhalte vorzeitig gelöscht wurden.
  • Ein Problem wurde behoben, durch das SurfaceHolder.Callbacks nach der Veröffentlichung von Grafik-APIs mit niedriger Latenz nicht entfernt wurde.

Version 1.0.0-alpha03

22. März 2023

androidx.graphics:graphics-core:1.0.0-alpha03 wurde veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.

API-Änderungen

  • Die GLFrontBufferedRenderer-Callback-Implementierung wurde aktualisiert, um ein BufferInfo-Objekt bereitzustellen, das die Pufferbreite/-höhe sowie eine Frame-Puffer-ID enthält, die für ein erneutes Targeting auf das ursprüngliche Ziel nach dem Rendern in einem Zwischen-Scratch-Zwischenspeicher verwendet werden kann. (I7fe20)
  • Die Erstellung von SyncFence wurde auf die statische Factory-Methode für SyncFenceCompat konsolidiert.
  • Die öffentliche Kompatibilitätsmethode für eglDupNativeFenceFDANDROID wurde zugunsten der SyncFenceCompat-Factory-Methode für die SyncFence-Erstellung entfernt. So wird sichergestellt, dass alle API-Oberflächen unabhängig vom API-Level die richtige SyncFence-Implementierung erhalten. (I849bb)
  • Dokumentation für FrameBufferRenderer und SyncStrategy wurde hinzugefügt.
    • FrameBufferRenderer + FrameBuffer + FrameBufferPool wurden in das Paket „androidx.graphics.opengl“ verschoben
    • SyncStrategy wurde in androidx.graphics.opengl Paket verschoben
    • RenderCallback#onDraw Dokumente wurden aktualisiert
    • Die Dokumentation von RenderCallback#obtainFrameBuffer wurde aktualisiert, dieser Implementierer der API ist für den Aufruf von FrameBuffer.close verantwortlich
    • onDrawComplete wurde aktualisiert, um zu verdeutlichen, dass Nutzer dafür verantwortlich sind, anzuzeigende Inhalte bereitzustellen.
    • SyncFence-Kompatibilitätsschnittstellen/-Klassen wurden in das androidx.hardware-Paket verschoben, um das Framework zu spiegeln
    • Die SyncFence API wurde in SyncFenceV19 umbenannt und als privat gekennzeichnet, um die Nutzung in SyncFenceCompat zu konsolidieren. Dabei wird nach Möglichkeit die SyncFence API des Frameworks verwendet. (I5149c)
  • Die Methoden GLFrontBufferedRenderer#cancel und GLFrontBufferedRenderer#execute wurden hinzugefügt. Die erste Möglichkeit ist bei Szenarien für die Ablehnung von Handflächen nützlich, in denen das Rendern im Front-Zwischenspeicher abgebrochen und der Front-Zwischenspeicher ausgeblendet werden sollte. Letzteres ist in Szenarien nützlich, um Objekte im GL-Thread zu bearbeiten, ohne ein Rendering planen zu müssen. (If0b7f)
  • Fügen Sie eine API hinzu, die direkt auf der doppelten zwischengespeicherten Ebene gerendert wird. Dies erleichtert das erneute Rendern einer Szene nach dem Fortsetzen und bietet den Nutzern die Möglichkeit, selektiv zu bestimmen, wann das gepufferte Front-Rendering basierend auf der gewünschten Szene, die gerendert werden soll, dynamisch verwendet werden soll. (Ied56c)
  • Neue API zu SurfaceControlCompat.Builder hinzugefügt, um die Konfiguration des übergeordneten SurfaceControl aus einer anderen SurfaceControl-Instanz zusätzlich zum vorhandenen Mechanismus aus einer SurfaceView zu unterstützen. (I1d1b6)
  • Höhere Null-Zulässigkeit für Rückgaben von nicht mehr unterstützten Funktionen (Ibf7b0)
  • Es wurde eine EGL_ANDROID_get_native_client_buffer-Erweiterungskonstante hinzugefügt, um abzufragen, ob das Android-Gerät den Import von HardwareBuffer-Instanzen in EGLClientBuffer-Objekte unterstützt, die als EGLImage-Instanz verwendet werden können. (Iad767)
  • Annotation @JvmDefaultWithCompatibility hinzufügen (I8f206)

Version 1.0.0-alpha02

9. November 2022

androidx.graphics:graphics-core:1.0.0-alpha02 wurde veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

API-Änderungen

  • Fehlende RequiresApi-Anmerkung für addTransactionCommitListener behoben, die in Android S (I0a035) eingeführt wurde
  • onDraw<Front/Double>-Puffer-Callbacks wurden aktualisiert, um eine Transformationsmatrix bereitzustellen, die Nutzer zusätzlich zur aktuellen Pufferbreite/-höhe an ihre Vertex-Shader übergeben können. Nutzer sind für die Verwendung dieser Parameter für die korrekte Vorabrotation ihres OpenGL-Rendering-Codes verantwortlich. (I82f9e)

Fehlerkorrekturen

  • Verbesserte Grafiklatenz durch Vorabwechseln der Zwischenspeicher vor Ausgabe von SurfaceControl-Transaktionen.
  • Ein Problem wurde behoben, durch das in den Fehlerprotokollen der Fehler 300d (EGL_BAD_SURFACE) angezeigt wurde.
  • Ein Problem wurde behoben, durch das GLFrontBufferedRenderer ungültig war, nachdem die entsprechende Aktivität, in der sie verwendet wurde, fortgesetzt wurde.
  • Emulatoren und ChromeOS-Geräte werden jetzt besser unterstützt.
  • Ein Problem wurde behoben, durch das die gepufferte Frontebene möglicherweise vorzeitig ausgeblendet wurde.

Version 1.0.0-alpha01

24. Oktober 2022

androidx.graphics:graphics-core:1.0.0-alpha01 wurde veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Erste Version der Grafikkernbibliothek für AndroidX. Dazu gehören auch APIs zur Unterstützung von Anwendungsfällen mit niedriger Latenz, z. B. bei der Eingabe mit Eingabestiften. Außerdem werden einige Hilfs-APIs für die OpenGL-Nutzung eingeführt.

API-Änderungen

  • Einführung von GLFrontBufferedRenderer zur Unterstützung des Front- und mehrfach zwischengespeicherten Renderings, um sowohl eine niedrige Latenz als auch eine hochwertige Rendering-Ausgabe zu erzielen.
  • Stellt die GLRenderer API zur Unterstützung des OpenGL-Renderings für verschiedene Oberflächenanbieter wie SurfaceView und TextureView vor.