Grafiken
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 | - | – | - |
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.
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ürRoundedPolygon
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()
- undpillStar()
-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 überMutableCubics
zu iterieren. DiePointTransformer
-Funktionsoberfläche wurde geändert. Sie verwendet jetzt die x- und y-Koordinaten einerPoint
und gibt eineTransformedResult
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 inFloat
-Paare geändert (Id4705, b/276466399, b/290254314)progress
wird jetzt direkt anMorph
-Zeichenbefehle übergeben (Icdca2).
Fehlerkorrekturen
- Der 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
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 eineninnerRadius
-Wert anstelle des vorherigeninnerRadiusRatio
-Parameters. Dieser wird in den gleichen Einheiten wie der vorhandene radius -Parameter verwendet, was die Dinge einfacher und einheitlicher macht. Außerdem wurde der ParameternumOuterVertices
innumVerticesPerRadius
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
- Entfernung der Nutzung der experimentellen
isAtLeastU()
API (Ie9117, b/289269026)
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 einHardwareBuffer
. Damit kann ein Teil einer Benutzeroberfläche in einen Zwischenspeicher gezeichnet werden, der dann 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
wurde zuRenderRequest
hinzugefügt, um die Nutzung von Koroutinen zum Planen von Zeichenanfragen zu unterstützen. Die vorherige Zeichnungsmethode, die einen Executor verbraucht hat, wurde indrawAsync
umbenannt. Die MethodeisClosed()
wurde auf eine Property umgestellt. (I5bff6) - Parameter für Zwischenspeicherformat wurde
CanvasFrontBufferRenderer
für eine direkte Zuordnung zuCanvasBufferedRenderer.Builder#setBufferFormat
bereitgestellt (I0f272) - Es wurde die
CanvasBufferedRenderer
API zur Verarbeitung des hardwarebeschleunigten Canvas-Renderings in eineHardwareBuffer
erstellt. Dies ermöglicht eine rückportierte Implementierung zu Android Q sowie die Konfiguration einer Swapchain-Tiefe vonHardwareBuffers
. Die Konfiguration vonColorSpace
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 zuSurfaceControlCompat.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 einonBufferReleased
-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 derSurfaceView
-Verwaltung verbundenen Komplexitäten verringert, indem dieSurfaceView
-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ückgepufferteSurfaceControl
(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 undSurfaceControl
-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 undHardwareBufferFormart
- undHardwareBufferUsage
-Anmerkungen fürsetFormat
/setUsage
wurden hinzugefügt. (Ief89e) - Die
setBuffer
API fürSurfaceControl
-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 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 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 einBufferInfo
-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ürSyncFenceCompat
konsolidiert. - Die öffentliche Kompatibilitätsmethode für
eglDupNativeFenceFDANDROID
wurde zugunsten derSyncFenceCompat
-Factory-Methode für die SyncFence-Erstellung entfernt. So wird sichergestellt, dass alle API-Oberflächen unabhängig vom API-Level die richtigeSyncFence
-Implementierung erhalten. (I849bb) - Dokumentation für
FrameBufferRenderer
undSyncStrategy
wurde hinzugefügt.FrameBufferRenderer
+FrameBuffer
+FrameBufferPool
wurden in das Paket „androidx.graphics.opengl
“ verschobenSyncStrategy
wurde inandroidx.graphics.opengl
Paket verschobenRenderCallback#onDraw
Dokumente wurden aktualisiert- Die Dokumentation von
RenderCallback#obtainFrameBuffer
wurde aktualisiert, dieser Implementierer der API ist für den Aufruf vonFrameBuffer.close
verantwortlich onDrawComplete
wurde aktualisiert, um zu verdeutlichen, dass Nutzer dafür verantwortlich sind, anzuzeigende Inhalte bereitzustellen.SyncFence
-Kompatibilitätsschnittstellen/-Klassen wurden in dasandroidx.hardware
-Paket verschoben, um das Framework zu spiegeln- Die
SyncFence
API wurde inSyncFenceV19
umbenannt und als privat gekennzeichnet, um die Nutzung inSyncFenceCompat
zu konsolidieren. Dabei wird nach Möglichkeit dieSyncFence
API des Frameworks verwendet. (I5149c)
- Die Methoden
GLFrontBufferedRenderer#cancel
undGLFrontBufferedRenderer#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 übergeordnetenSurfaceControl
aus einer anderenSurfaceControl
-Instanz zusätzlich zum vorhandenen Mechanismus aus einerSurfaceView
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 vonHardwareBuffer
-Instanzen inEGLClientBuffer
-Objekte unterstützt, die alsEGLImage
-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üraddTransactionCommitListener
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 wieSurfaceView
undTextureView
vor.