Grafiken
In dieser Tabelle sind alle Artefakte in der Gruppe androidx.graphics
aufgeführt.
Artefakt | Stabile Version | Releasekandidat | Beta-Ausgabe | Alpharelease |
---|---|---|---|---|
Grafikkern | − | 1.0.0-rc01 | − | − |
Grafikpfad | 1.0.1 | − | − | − |
Grafik-Formen | − | − | 1.0.0-beta01 | − |
Abhängigkeiten deklarieren
Zum Hinzufügen einer Grafikabhängigkeit müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Fügen Sie der Datei build.gradle
für Ihre Anwendung oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:
Groovig
dependencies { implementation "androidx.graphics:graphics-core:1.0.0-rc01" implementation "androidx.graphics:graphics-path:1.0.1" implementation "androidx.graphics:graphics-shapes:1.0.0-beta01" }
Kotlin
dependencies { implementation("androidx.graphics:graphics-core:1.0.0-rc01") implementation("androidx.graphics:graphics-path:1.0.1") implementation("androidx.graphics:graphics-shapes:1.0.0-beta01") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Dein Feedback hilft uns, Jetpack zu verbessern. Lassen Sie uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie eine neue erstellen. Durch Klicken auf die Stern-Schaltfläche können Sie zu einem vorhandenen Problem abstimmen.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Für dieses Artefakt gibt es keine Versionshinweise.
Grafikformen-Version 1.0
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
- Lassen Sie zu, dass Formen im Voraus gedreht werden können, um an einem anderen Punkt zu beginnen. Durch diese Änderung können
pillStar
-Formen ihre Kurven an einem nicht standardmäßigen Punkt im Umfang beginnen. Dies kann nützlich sein, wenn Sie das Streichen des Pfades der Form animieren, um von einer bestimmten Stelle auf dem Umriss der Form aus mit dem Zeichnen zu beginnen. (Ifbb4d, b/324303807) - Morph wurden
calculateBounds()
-Funktionen hinzugefügt, die dieselben Funktionen inRoundedPolygon
parallelisieren. (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()
- undpillStar()
-Funktionen zum einfachen Erstellen dieser abgerundeten/markierten Formen. Es gibt auch neue APIs zur Berechnung der genauen Grenzen, die für eine Form erforderlich sind (die vorherigen Grenzen waren nur eine Schätzung basierend auf dem zugrunde liegenden Anker- und Kontrollpunkt der Bézierkurve) sowie die maximal möglichen Grenzen. Diese können hilfreich sein, um die Größe des Containers zu bestimmen, der ihn enthält, wenn er innerhalb dieses Containers gedreht wird. (I71827)
API-Änderungen
- Jetzt gibt es mehr Optionen zum Abrufen von genauen und maximalen Grenzen. (I6d49f, b/317286450)
Fehlerkorrekturen
- Beim Zeichnen dieser Formen als Strich-Pfade gab es gelegentlich Rendering-Artefakte, da ein Rendering-Problem auf niedriger Ebene im Zusammenhang mit Kurven mit Nulllängen aufgetreten ist. Dieser Fehler wurde behoben, indem alle Nulllängen-Kurven entfernt wurden (die die Formen nicht benötigen, wodurch auch der Aufwand für die durch die Formen erzeugten Pfade gespart wird).
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 mehrere API-Änderungen sowie Fehlerbehebungen.
- Viele der API-Änderungen machen die Shapes-Bibliothek für KMP geeignet. Das vereinfacht den Aufruf von Code, der nicht von Android stammt, z. B. von Android-unabhängigem Eingabecode. In der API sind beispielsweise keine Android-Typen wie die vorherigen PointF-, Matrix- und Path-Typen enthalten.
- Außerdem wurden aus Leistungsgründen mehrere Änderungen an den APIs und der Implementierung vorgenommen, insbesondere zur Minimierung der Objektzuweisung (und -erfassung). Beim Wechsel von PointF zu separaten Float-Parametern müssen beispielsweise nicht viele temporäre PointF-Strukturen zugewiesen werden, um diese Eckpunkte zu speichern.
API-Änderungen
Morph.asMutableCubics
wurde durch eine Funktion zum Iterieren überMutableCubics
ersetzt. Die funktionale SchnittstellePointTransformer
wurde geändert. Jetzt verwendet sie x- und y-Koordinaten einerPoint
und gibt eineTransformedResult
zurück, die mit den transformierten x- und y-Koordinaten konstruiert ist (I6719e).- Der öffentliche
Cubic
-Konstruktor wurde entfernt und zu einer Factory-Funktion gemacht. (I409ce) - Android-spezifische Transformer- und Drawing-APIs hinzufügen (I079f6, b/292289543)
- Android-Abhängigkeiten beseitigen (Iadc1c, b/292289543)
- Anker- und Steuer-Property-Namen sind jetzt sinnvoller (If13bd, b/294562941)
PointF
-Parameter wurden inFloat
-Paare geändert (Id4705, b/276466399, b/290254314)progress
wird jetzt direkt anMorph
-Zeichenbefehle (Icdca2) übergeben.
Fehlerkorrekturen
- Ein Fehler beim Erstellen großer Formen wurde behoben. (I4fd66, b/313497325)
Version 1.0.0-alpha03
7. Juni 2023
androidx.graphics:graphics-shapes:1.0.0-alpha03
wird freigegeben. Version 1.0.0-alpha03 enthält diese Commits.
API-Änderungen
- Neue
RoundedPolygon.rectangle()
-Funktion hinzugefügt (I78e7e, b/280322189) - Stern- und Kreisfunktionen werden jetzt ohne Großbuchstaben 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 Schnitte besser. Nutzen Sie den verfügbaren Platz zum Runden und anschließend zum Glätten, falls noch Platz bleibt. (Ibd320, b/277936300)
Version 1.0.0-alpha02
19. April 2023
androidx.graphics:graphics-shapes:1.0.0-alpha02
wird freigegeben. Version 1.0.0-alpha02 enthält diese Commits.
API-Änderungen
- Die übergeordnete Klasse „Polygon“ wurde mit ihrer Unterklasse
RoundedPolygon
zusammengeführt. Alle Polygone sind jetzt [optional] abgerundete Polygone. - Die Sternfunktion (die wie zuvor weiterhin ein
RoundedPolygon
zurückgibt) verwendet jetzt eineninnerRadius
-Wert anstelle des vorherigeninnerRadiusRatio
-Parameters. Dieser Parameter enthält dieselben Einheiten wie der vorhandene radius -Parameter, wodurch der Vorgang einfacher und einheitlicher wird. Außerdem wurde der ParameternumOuterVertices
innumVerticesPerRadius
umbenannt, um zu verdeutlichen, dass dieselbe Zahl sowohl auf innere als auch auf äußere Radien angewendet wird. - Bisher wurde dokumentiert, dass
CornerRounding.radius
relativ zur Größe des Polygons ist. Es war und sollte aber ein absoluter und kein relativer Wert sein. Die Dokumente wurden aktualisiert und die Anmerkung, die den Maximalwert auf 1,0 begrenzt 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
wird freigegeben. Diese Version wurde von einem internen Zweig freigegeben.
Neue Funktionen
- Verwenden Sie die Polygon API, um regelmäßige und Sternpolygone mit der gewünschten Anzahl von Scheitelpunkten zu erstellen.
- Verwenden Sie optionale
CornerRounding
-Parameter, um den Rundungsradius und die Glättungsparameter für die Ecken anzugeben. So entstehen Polygonformen mit abgerundeten Ecken. - Verwenden Sie die neue
Morph(Polygon, Polygon)
API, um automatisch eine „morph“-Form zu berechnen, deren Fortschritt von 0 bis 1 gesetzt werden kann, um zwischen der Start- und der Endform zu animieren. Animieren Sie den Fortschritt im Zeitverlauf, indem Sie das Ergebnis in jedem Frame zeichnen, um eine flüssige Animation zwischen diesen neuen abgerundeten Formen zu erstellen.
Graphics Path Version 1.0
Version 1.0.1
1. Mai 2024
androidx.graphics:graphics-path:1.0.1
wird freigegeben. 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
wird freigegeben.
Version 1.0.0-rc01
21. Februar 2024
androidx.graphics:graphics-path:1.0.0-rc01
wird freigegeben. Version 1.0.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Leistung von PathIt für API <34 (Id4629) verbessern
Version 1.0.0-beta02
10. Januar 2024
Bei den Änderungen in dieser Version ging es vor allem darum, die Größe der Bibliothek zu reduzieren, was aufgrund der Annahmen des nativen Codes größer als notwendig war.
androidx.graphics:graphics-path:1.0.0-beta02
wird freigegeben. Version 1.0.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Die Größe von
libandroidx.graphics.path.so
wurde um 96 % verringert. (I71397) - Verringern Sie 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
wird freigegeben. Version 1.0.0-beta01 enthält diese Commits.
API-Änderungen
- Die Verwendung der experimentellen
isAtLeastU()
API (Ie9117, b/289269026) wurde entfernt.
Fehlerkorrekturen
- Verschiedene Fehlerbehebungen und Leistungsverbesserungen, darunter wie die Bibliothek mit Kegeln umgeht.
Version 1.0.0-alpha02
7. Juni 2023
androidx.graphics:graphics-path:1.0.0-alpha02
wird freigegeben. Diese Version wird in einem internen Zweig entwickelt.
Neue Funktionen
- Es wurde ein Problem mit der internen Plattformversionsprüfung behoben, das zu Problemen bei der Ausführung unter Android 14-Vorschauen führte. Die Versionsprüfung schlug fehl, aber der Mechanismus für Vorgänge in früheren Releases funktionierte insbesondere unter Android 14 nicht richtig.
Version 1.0.0-alpha01
22. März 2023
androidx.graphics:graphics-path:1.0.0-alpha01
wird freigegeben. Version 1.0.0-alpha01 enthält diese Commits.
Neue Funktionen
- Diese neue Bibliothek ermöglicht die Abfrage von Pfaddaten über die neue
PathIterator
API. Mit dieser API können Aufrufer alle Segmente eines Pfadobjekts durchlaufen, um den Vorgang und die Daten für diese Segmente zu bestimmen. - Die Bibliothek verwendet ähnliche APIs, die in der Android 14-Vorabversion eingeführt wurden. Diese AndroidX-Version der API funktioniert jedoch auch mit Versionen ab API 21.
Graphics Core-Version 1.0
Version 1.0.0-rc01
17. April 2024
androidx.graphics:graphics-core:1.0.0-rc01
wird freigegeben. Diese Version wird in einem internen Zweig entwickelt.
Fehlerkorrekturen
- Ein Problem wurde behoben, das bei bestimmten Android-Geräten mit Android 14 zur potenziellen doppelten Schließung von Dateideskriptoren mit der
CanvasBufferedRendererAPI
führte. - 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
wird freigegeben. Version 1.0.0-beta01 enthält diese Commits.
Neue Funktionen
- Es wurde eine neue
LowLatencyCanvasView
API eingeführt, die das Rendering mit niedriger Latenz mit den 2D-Grafik-APIs von Android (Canvas + Paint) in der Ansichtshierarchie unterstützt. - Einführung der
CanvasBufferedRenderer
API zur Unterstützung des hardwarebeschleunigten Canvas-Renderings in einemHardwareBuffer
. Damit kann ein Teil einer Benutzeroberfläche in einen Zwischenspeicher gezeichnet werden, der mithilfe derBitmap.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, wannRenderResult#fence
zurückgegeben wird. (If1ea7) - Die Methode
draw
zuRenderRequest
hinzugefügt, um die Nutzung von Koroutinen zum Planen von Zeichenanfragen zu unterstützen. Die vorherige Zeichenmethode, die einen Executor verarbeitet hat, wurde indrawAsync
umbenannt. DieisClosed()
-Methode wurde für ein Attribut überarbeitet. (I5bff6) - Offengelegter Zwischenspeicherformatparameter für
CanvasFrontBufferRenderer
für eine direkte Zuordnung zuCanvasBufferedRenderer.Builder#setBufferFormat
(I0f272) - Es wurde die
CanvasBufferedRenderer
API zur Verarbeitung des hardwarebeschleunigten Canvas-Renderings in eineHardwareBuffer
erstellt. Dies ermöglicht eine rückportierte Implementierung für Android Q sowie die Konfiguration einer Swapchain-Tiefe vonHardwareBuffers
. DieColorSpace
-Konfiguration ist weiterhin auf Android U+ beschränkt, die kompatible Implementierung bietet jedoch ein operatives Verhalten im Namen des Entwicklers. (I9b1d8) - Füge
setFrameRate
/clearFrameRate
APIs zuSurfaceControlCompat.Transaction
hinzu, um die Framerate neben der Änderungsstrategie für nahtlose oder standardmäßige Ü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 einonBufferReleased
-Callback hinzugefügt, damit Nutzer den Status bereinigen können, wenn kein Puffer mehr bereitgestellt wird (I8a4e2). - Erstelle
LowLatencyCanvasView
für einen einfachen Anwendungsfall des Renderings von Inhalten mit niedriger Latenz, das mit dem Rendering der Ansichtshierarchie synchronisiert wird. Dies verringert die Komplexität derSurfaceView
-Verwaltung, indem dieSurfaceView
-Instanz intern verwaltet wird, die aus- und auf dem Bildschirm übersetzt wird, um jeweils ein Rendering bzw. ein Rendering mit niedriger Latenz zu ermöglichen. (I9253b) - Für die
CanvasFrontBufferedRenderer
API wird nun die Konfiguration von Farbräumen unterstützt. Multipuffered Callbacks wurden aktualisiert, sodass sie auch den zurückgepuffertenSurfaceControl
(I24bd9) enthalten.
Version 1.0.0-alpha05
6. September 2023
androidx.graphics:graphics-core:1.0.0-alpha05
wird freigegeben. Version 1.0.0-alpha05 enthält diese Commits.
Neue Funktionen
GLFrameBufferRenderer
API wurde eingeführt. Dies bietet eine Kombination aus OpenGL-Abhängigkeiten, Auslagerungskettenkonfiguration, Pixelformaten undSurfaceControl
-Konfiguration. (Ic775b)
API-Änderungen
- Mehreren Callback-APIs wurden Parameter für Breite und Höhe hinzugefügt, um die Abmessungen von
SurfaceHolder#Callbacks
für Pipes zu verwenden. (I7f9fc) - Eine Clear API wurde hinzugefügt, um sowohl Front- als auch Multi-Pufferebenen zu löschen. (Ic1f95)
- Unterstützung zur Konfiguration des zugrunde liegenden Zwischenspeichertyps von Swapchains, die in
GLFrontBufferedRenderer
verwendet werden, wurde hinzugefügt. (I07a13) - Kotlin-Eigenschaften für Getter bei
GLFrameBufferRenderer
,IntRange
-Annotationen für maximale Puffereinträge undHardwareBufferFormart
- undHardwareBufferUsage
-Annotationen fürsetFormat
/setUsage
wurden hinzugefügt. (Ief89e) - Die
setBuffer
API wurde fürSurfaceControl
-Transaktionen aktualisiert, um einen Release-Zäun bereitzustellen. (Ice1bb) SurfaceControlCompat.Transaction
APIs zum Konfigurieren des Datenraums sowie zum Festlegen des erweiterten Helligkeitsbereichs wurden hinzugefügt. (Ic378d)
Version 1.0.0-alpha04
7. Juni 2023
androidx.graphics:graphics-core:1.0.0-alpha04
wird freigegeben. Version 1.0.0-alpha04 enthält diese Commits.
Neue Funktionen
- Einführung von
CanvasFrontBufferedRenderer
zur Unterstützung von Grafiken mit niedriger Latenz mithilfe derandroid.graphics.Canvas
API neben der bestehenden OpenGL-Implementierung
API-Änderungen
- Die
SurfaceControlCompat.Transaction#setBuffer
API wurde aktualisiert, damitHardwareBuffer
-Instanzen, für die Nullwerte zulässig sind, die entsprechende Plattform-API (I173d7) spiegeln können. - Benennen Sie Methoden, die sich auf „Double Buffered Rendering“ beziehen, in „Multi Buffered“ um, da die Backing-Swapchain mehr als 2 Zwischenspeicher enthalten kann. (I830d7)
- Erstellen Sie die
CanvasFrontBufferedRenderer
API, damit 3ps ein vorverpuffertes Renderingsystem mithilfe der Canvas API nutzen kann. (Ibfc29)
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem
GLFrontBufferedRenderer
nach Fortsetzen der entsprechenden Aktivität keine Inhalte rendern konnte. - Ein Problem wurde behoben, bei dem vorne gepufferte Inhalte vorzeitig gelöscht wurden.
- Ein Problem wurde behoben, bei dem
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
wird freigegeben. Version 1.0.0-alpha03 enthält diese Commits.
API-Änderungen
- Die Callback-Implementierung von
GLFrontBufferedRenderer
wurde aktualisiert, um einBufferInfo
-Objekt bereitzustellen, das die Pufferbreite/-höhe sowie eine Frame-Puffer-ID enthält. Diese kann nach dem Rendering in einem zwischenzeitlichen Zwischenspeicherpuffer für ein Re-Targeting auf das ursprüngliche Ziel verwendet werden. (I7fe20) - Die Erstellung von
SyncFence
wurde auf die statische Fabrikmethode inSyncFenceCompat
konsolidiert. - Die öffentliche Kompatibilitätsmethode für
eglDupNativeFenceFDANDROID
wurde zugunsten der Factory-MethodeSyncFenceCompat
zum Erstellen von SyncFence entfernt. Dadurch wird sichergestellt, dass alle API-Oberflächen unabhängig vom API-Level die richtigeSyncFence
-Implementierung erhalten. (I849bb) - Dokumentation für
FrameBufferRenderer
undSyncStrategy
hinzugefügt.FrameBufferRenderer
+FrameBuffer
+FrameBufferPool
wurden in das Paket „androidx.graphics.opengl
“ verschobenSyncStrategy
in Paket „androidx.graphics.opengl
“ verschobenRenderCallback#onDraw
Dokumente wurden aktualisiert- Die Dokumentation von
RenderCallback#obtainFrameBuffer
wurde aktualisiert, wobei der Implementer der API für den Aufruf vonFrameBuffer.close
zuständig ist. onDrawComplete
wurde aktualisiert, um anzugeben, dass die Verbraucher dafür verantwortlich sind, die angezeigten Inhalte weiterzuleiten.SyncFence
-Kompatibilitätsschnittstellen/-klassen wurden in dasandroidx.hardware
-Paket verschoben, um das Framework zu spiegelnSyncFence
API wurde inSyncFenceV19
umbenannt und privat gemacht, um Nutzungen inSyncFenceCompat
zu konsolidieren, die dieSyncFence
API des Frameworks nach Möglichkeit nutzt. (I5149c)
- Die Methoden
GLFrontBufferedRenderer#cancel
undGLFrontBufferedRenderer#execute
wurden hinzugefügt. Ersteres ist nützlich bei Szenarien, in denen Handflächen abgelehnt werden, in denen das Rendern für den 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, um direkt in der doppelt gepufferten Ebene zu rendern. Dies erleichtert das erneute Rendern einer Szene nach dem Lebenslauf und bietet den Nutzern die Möglichkeit, selektiv zu bestimmen, wann das Front-buffer-Rendering basierend auf der gewünschten zu rendernden Szene dynamisch eingesetzt werden soll. (Ied56c)
SurfaceControlCompat.Builder
wurde eine neue API hinzugefügt, die die Konfiguration des übergeordnetenSurfaceControl
s aus einer anderenSurfaceControl
-Instanz zusätzlich zum vorhandenen Mechanismus aus einerSurfaceView
-Instanz unterstützt. (I1d1b6)- Mehr Rückgabemöglichkeit für nicht unterstützte Funktionen, die nicht mehr unterstützt werden (Ibf7b0)
- Die
EGL_ANDROID_get_native_client_buffer
-Erweiterungskonstante wurde hinzugefügt, um abzufragen, ob das Android-Gerät den Import vonHardwareBuffer
-Instanzen inEGLClientBuffer
-Objekte unterstützt, die alsEGLImage
-Instanz verwendet werden können. (Iad767) - Anmerkung
@JvmDefaultWithCompatibility
hinzufügen (I8f206)
Version 1.0.0-alpha02
9. November 2022
androidx.graphics:graphics-core:1.0.0-alpha02
wird freigegeben. Version 1.0.0-alpha02 enthält diese Commits.
API-Änderungen
- Fehlende
RequiresApi
-Anmerkung füraddTransactionCommitListener
behoben, die in Android S (I0a035) eingeführt wurde - Die
onDraw<Front/Double>
-Puffer-Callbacks wurden aktualisiert, um eine Transformationsmatrix bereitzustellen, die Nutzer zusätzlich zur aktuellen Zwischenspeicherbreite/-höhe an ihre Vertex-Shader übergeben können. Die Nutzer sind dafür verantwortlich, mithilfe dieser Parameter ihren OpenGL-Rendering-Code vorzurotieren. I82f9e
Fehlerkorrekturen
- Verbesserte Grafiklatenz durch Vorrotieren von Puffern, bevor
SurfaceControl
-Transaktionen ausgeführt werden. - Ein Problem wurde behoben, bei dem Fehlerprotokolle den Fehler 300d (EGL_BAD_SURFACE) anzeigten.
- Ein Problem wurde behoben, bei dem
GLFrontBufferedRenderer
ungültig war, nachdem die entsprechende Aktivität, in der es verwendet wurde, fortgesetzt wurde. - Verbesserte Unterstützung für Emulatoren und ChromeOS-Geräte.
- Ein Problem wurde behoben, bei dem die vordere gepufferte Ebene möglicherweise vorzeitig ausgeblendet wurde.
Version 1.0.0-alpha01
24. Oktober 2022
androidx.graphics:graphics-core:1.0.0-alpha01
wird freigegeben. Version 1.0.0-alpha01 enthält diese Commits.
Neue Funktionen
- Erste Version der Graphics Core-Bibliothek von AndroidX Dazu gehören auch APIs zur Unterstützung von Anwendungsfällen mit niedriger Latenz, z. B. bei der Eingabe eines Eingabestifts. Damit werden auch einige Hilfs-APIs für die Verwendung von OpenGL eingeführt.
API-Änderungen
- Einführung von
GLFrontBufferedRenderer
zur Unterstützung des Front- und mehrpufferten Renderings, um eine niedrige Latenz und eine qualitativ hochwertige Renderingausgabe zu erzielen. - Einführung der
GLRenderer
API zur Unterstützung des OpenGL-Renderings für verschiedene Oberflächenanbieter wieSurfaceView
,TextureView
und weitere