grafika
Ta tabela zawiera wszystkie artefakty w grupie androidx.graphics
.
Artefakt | Wersja stabilna | Kandydat do wydania | Wersja Beta | Wydanie alfa |
---|---|---|---|---|
rdzenie graficzne | 1.0.1 | - | - | - |
ścieżka-grafiki | 1.0.1 | - | - | - |
kształty graficzne | 1.0.1 | - | - | - |
Deklarowanie zależności
Aby dodać zależność od Graphics, musisz dodać repozytorium Google Maven do swojego w projektach AI. Zapoznaj się z repozytorium Google Maven. .
Dodaj zależności artefaktów, których potrzebujesz w pliku build.gradle
aplikacji lub modułu:
Odlotowe
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") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli odkryjesz nowe problemy jak ulepszyć tę bibliotekę. Przyjrzyj się istniejące problemy w tej bibliotece, zanim utworzysz nową. Możesz zagłosować nad istniejącym problemem przez klikając przycisk gwiazdki.
Zobacz dokumentację narzędzia Issue Tracker. .
Brak informacji o wersji tego artefaktu.
Kształty graficzne w wersji 1.0
Wersja 1.0.0
21 sierpnia 2024 r.
androidx.graphics:graphics-shapes:1.0.0
, androidx.graphics:graphics-shapes-android:1.0.0
i androidx.graphics:graphics-shapes-desktop:1.0.0
zostały udostępnione. Wersja 1.0.0 zawiera te zatwierdzenia.
Wersja 1.0.0-rc01
24 lipca 2024 r.
androidx.graphics:graphics-shapes:1.0.0-rc01
, androidx.graphics:graphics-shapes-android:1.0.0-rc01
i androidx.graphics:graphics-shapes-desktop:1.0.0-rc01
zostały udostępnione. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Wersja 1.0.0-beta01
1 maja 2024 r.
androidx.graphics:graphics-shapes:1.0.0-beta01
, androidx.graphics:graphics-shapes-android:1.0.0-beta01
i androidx.graphics:graphics-shapes-desktop:1.0.0-beta01
zostały udostępnione. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Zezwalaj na wstępne obracanie kształtów w innym punkcie. Ta zmiana pozwala kształtom
pillStar
zaczynać krzywe od punktu innego niż domyślny na obwodzie. Może to być przydatne podczas animowania rysowania ścieżki kształtu, aby rozpocząć rysowanie od określonego miejsca na obrysie kształtu. (Ifbb4d, b/324303807) - Do funkcji Przekształć w strukturę przekształceniową dodano funkcje (
calculateBounds()
), które działają równolegle do tych samych funkcji w dniuRoundedPolygon
. (I8a3b6, b/325463575)
Wersja 1.0.0-alpha05
7 lutego 2024 r.
androidx.graphics:graphics-shapes:1.0.0-alpha05
, androidx.graphics:graphics-shapes-android:1.0.0-alpha05
i androidx.graphics:graphics-shapes-desktop:1.0.0-alpha05
zostały udostępnione. Wersja 1.0.0-alfa05 zawiera te zatwierdzenia.
Nowe funkcje
- W bibliotece są teraz nowe funkcje
pill()
ipillStar()
, które ułatwiają tworzenie kształtów zaokrąglonych lub oznaczonych gwiazdką. Istnieją również nowe interfejsy API do obliczania dokładnych granic wymaganych dla kształtu (poprzednie granice były jedynie oszacowaniem na podstawie punktów zakotwiczenia krzywej Beziera i punktów kontrolnych), a także maksymalnych możliwych granic, które mogą pomóc w określeniu rozmiaru kontenera, w którym będzie się obracać. (I71827)
Zmiany interfejsu API
- Teraz masz więcej opcji pobierania dokładnych i maksymalnych progów. (I6d49f, b/317286450)
Poprawki błędów
- Podczas rysowania tych kształtów jako ścieżek kreślonych występowały czasami artefakty renderowania. Wynikało to z problemu z niskim renderowaniem dotyczącego krzywych o zerowej długości. Ten błąd został naprawiony przez wyeliminowanie wszystkich krzywych o zerowej długości (których dane kształty nie potrzebują, a przez to oszczędzanie na ścieżkach generowanych przez te kształty).
Wersja 1.0.0-alpha04
13 grudnia 2023 r.
androidx.graphics:graphics-shapes:1.0.0-alpha04
, androidx.graphics:graphics-shapes-android:1.0.0-alpha04
i androidx.graphics:graphics-shapes-desktop:1.0.0-alpha04
zostały udostępnione. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.
Nowe funkcje
- Ta wersja zawiera kilka zmian interfejsu API i poprawki błędów.
- Wiele zmian w interfejsie API sprawia, że biblioteka kształtów jest przyjazna dla KMP. Dzięki temu możesz łatwiej dzwonić przy użyciu kodu spoza Androida (np. niezależnego kodu tworzenia wiadomości). Na przykład w interfejsie API nie ma typów Androida, takich jak poprzedni typ PointF, Matrix i Path.
- Wprowadziliśmy też kilka zmian w interfejsach API i implementacji ze względu na wydajność. Chodzi przede wszystkim o zminimalizowanie alokacji obiektów (i zbierania danych). Na przykład przejście z punktuF na osobne parametry liczby zmiennoprzecinkowej pozwala uniknąć przypisania wielu tymczasowych struktur PointF do przechowywania tych wierzchołków.
Zmiany interfejsu API
- Zastąpiono funkcję
Morph.asMutableCubics
funkcją wykonującą iterację wMutableCubics
. Interfejs funkcjonalnyPointTransformer
został zmieniony. Teraz przyjmuje współrzędne x i y elementuPoint
i zwracaTransformedResult
(który tworzy się z przekształconymi współrzędnymi x i y) (I6719e). - Usunęliśmy publiczny konstruktor
Cubic
i ustawiliśmy go jako funkcję fabryczną. (I409CE) - Dodawanie interfejsów API przekształcania i rysunków specyficznych dla Androida (I079f6, b/292289543)
- Wyeliminuj zależności Androida (Iadc1c, b/292289543)
- Nazwy właściwości kotwicy i elementów sterujących są teraz bardziej rozsądne (If13bd, b/294562941).
- Parametry
PointF
zostały zmienione na paryFloat
(Id4705, b/276466399, b/290254314) - Pole
progress
jest teraz przekazywane bezpośrednio do poleceń rysowania wMorph
(Icdca2)
Poprawki błędów
- Naprawiono błąd tworzenia dużych kształtów. (I4fd66, b/313497325)
Wersja 1.0.0-alpha03
7 czerwca 2023 r.
Usługa androidx.graphics:graphics-shapes:1.0.0-alpha03
została zwolniona. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodano nową funkcję
RoundedPolygon.rectangle()
(I78e7e, b/280322189) - Funkcje gwiazdki i okręgu są teraz pozbawiane wielkich liter i są wywoływane przez obiekt towarzyszący
RoundedPolygon
: np.RoundedPolygon.star(...)
(I14735)
Poprawki błędów
- Usunięto błąd wygładzania (Ibf894)
- Naprawiliśmy błąd, który występował, gdy kształt początkowy i końcowy był taki sam. Lepiej rozplanuj dostępną przestrzeń na cięcia, najpierw wykorzystując dostępną przestrzeń na zaokrąglanie, a później wykorzystuj dostępną przestrzeń na zaokrąglenia, jeśli zostanie wolna przestrzeń. (Ibd320, b/277936300)
Wersja 1.0.0-alpha02
19 kwietnia 2023 r.
Usługa androidx.graphics:graphics-shapes:1.0.0-alpha02
została zwolniona. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Nadklasa Polygon została scalona z jej podklasą,
RoundedPolygon
; wszystkie wielokąty są teraz [opcjonalnie] zaokrąglonymi. - Funkcja gwiazdki (która nadal zwraca wartość
RoundedPolygon
, tak jak wcześniej) przyjmuje teraz wartośćinnerRadius
zamiast poprzedniego parametruinnerRadiusRatio
. Zawiera te same jednostki co dotychczasowy parametr promienia, dzięki czemu jest on prostszy i bardziej spójny. Nazwa parametrunumOuterVertices
została też zmieniona nanumVerticesPerRadius
, aby doprecyzować, że ta sama liczba jest stosowana zarówno do promienia wewnętrznego, jak i zewnętrznego. - Wcześniej udokumentowano, że funkcja
CornerRounding.radius
odpowiada wielkości wielokąta, ale była (i powinna być) wartością bezwzględną, a nie względną. Dokumenty zostały zaktualizowane, a adnotacja ograniczająca jej maksymalną wartość do 1,0 została poprawiona.
Wersja 1.0.0-alpha01
5 kwietnia 2023 r.
Graphics- shapes to nowa biblioteka, która umożliwia łatwe tworzenie i renderowanie zaokrąglonych wielokątnych kształtów, a także proste i automatyczne przekształcanie (animacje) między różnymi kształtami.
Usługa androidx.graphics:graphics-shapes:1.0.0-alpha01
została zwolniona. Ta wersja została wydana z gałęzi wewnętrznej.
Nowe funkcje
- Interfejs Polygon API umożliwia tworzenie wielokątów regularnych i gwiazdek z odpowiednią liczbą wierzchołków.
- Opcjonalne parametry
CornerRounding
pozwalają określić promień zaokrąglenia i wygładzania rogów, aby uzyskać wielokątne kształty z zaokrąglonymi narożnikami. - Nowy interfejs API
Morph(Polygon, Polygon)
umożliwia automatyczne obliczenie kształtu szkieletowego, którego postęp można ustawić w zakresie od 0 do 1, aby animować kształt pomiędzy początkowym a końcowym kształtem. Możesz animować postępy w czasie, rysując wynik na każdej klatce, aby utworzyć płynną animację między nowymi okrągłymi kształtami.
Ścieżka grafiki w wersji 1.0
Wersja 1.0.1
1 maja 2024 r.
Usługa androidx.graphics:graphics-path:1.0.1
została zwolniona. Wersja 1.0.1 zawiera te zatwierdzenia.
Poprawki błędów
- Ulepszenia flag kompilacji.
Wersja 1.0.0
6 marca 2024 roku
Usługa androidx.graphics:graphics-path:1.0.0
została zwolniona.
Wersja 1.0.0-rc01
21 lutego 2024 r.
Usługa androidx.graphics:graphics-path:1.0.0-rc01
została zwolniona. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Popraw wydajność PathIterator w interfejsie API < 34 (Id4629)
Wersja 1.0.0-beta02
10 stycznia 2024 r.
Zmiany w tej wersji dotyczyły zmniejszenia rozmiaru biblioteki, która była większa niż to konieczne ze względu na założenia stosowane w kodzie natywnym.
Usługa androidx.graphics:graphics-path:1.0.0-beta02
została zwolniona. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.
Poprawki błędów
- Zmniejszono rozmiar
libandroidx.graphics.path.so
o 96%. (I71397) - Zmniejsz rozmiar pliku
libandroidx.graphics.path.so
o 5%. (I2da7c). - Zmniejszono natywne komponenty komponentu
androidx.graphics:graphics-path
o 43%. (I8E40D)
Wersja 1.0.0-beta01
29 listopada 2023 r.
Usługa androidx.graphics:graphics-path:1.0.0-beta01
została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Usunięto zastosowania eksperymentalnego interfejsu API
isAtLeastU()
(Ie9117, b/289269026)
Poprawki błędów
- Różne poprawki i ulepszenia w zakresie wydajności, w tym sposób radzenia sobie z elementami stożkowymi w bibliotece.
Wersja 1.0.0-alpha02
7 czerwca 2023 r.
Usługa androidx.graphics:graphics-path:1.0.0-alpha02
została zwolniona. Ta wersja jest opracowana w gałęzi wewnętrznej.
Nowe funkcje
- Rozwiązaliśmy problem z wewnętrznym sprawdzaniem wersji platformy, który powodował problemy podczas korzystania z podglądów Androida 14 (sprawdzanie wersji kończyło się niepowodzeniem, ale mechanizm wykonywania czynności w poprzednich wersjach nie działa prawidłowo w szczególności na Androidzie 14).
Wersja 1.0.0-alpha01
22 marca 2023 r.
Usługa androidx.graphics:graphics-path:1.0.0-alpha01
została zwolniona. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
- Ta nowa biblioteka umożliwia tworzenie zapytań o dane ścieżki za pomocą nowego interfejsu API
PathIterator
. Za pomocą tego interfejsu API elementy wywołujące mogą iterować wszystkie segmenty obiektu Path, aby określić operację i dane dla tych segmentów. - Biblioteka korzysta z podobnych interfejsów API wprowadzonych w wersji testowej Androida 14, ale ta wersja interfejsu API na Androida X działa również w przypadku interfejsów API od wersji 21.
Graphics Core w wersji 1.0
Wersja 1.0.1
4 września 2024 r.
Usługa androidx.graphics:graphics-core:1.0.1
została zwolniona. Wersja 1.0.1 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problem polegający na tym, że zasoby pamięci czasami nie były zwalniane.
Wersja 1.0.0
29 maja 2024 r.
Usługa androidx.graphics:graphics-core:1.0.0
została zwolniona. Wersja 1.0.0 zawiera te zatwierdzenia.
Główne funkcje 1.0.0
- Oficjalna stabilna wersja biblioteki rdzenia graficznego. Zawiera drobne poprawki błędów i ulepszenia wydajności z wersji 1.0.0-rc01
Wersja 1.0.0-rc01
17 kwietnia 2024 r.
Usługa androidx.graphics:graphics-core:1.0.0-rc01
została zwolniona. Ta wersja jest opracowana w gałęzi wewnętrznej.
Poprawki błędów
- Rozwiązaliśmy problem, który powodował dwukrotne zamykanie deskryptorów plików w interfejsie
CanvasBufferedRendererAPI
na niektórych urządzeniach z Androidem 14. - Rozwiązaliśmy problem, który powodował, że usługa
FrameBuffer
nie usuwała prawidłowo instancji Framebuffer.
Wersja 1.0.0-beta01
13 grudnia 2023 r.
Usługa androidx.graphics:graphics-core:1.0.0-beta01
została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
Nowe funkcje
- Wprowadziliśmy nowy interfejs API
LowLatencyCanvasView
, który obsługuje renderowanie z krótkim czasem oczekiwania za pomocą interfejsów API grafiki 2D na Androida (Canvas + Paint) w hierarchii widoku danych. - Wprowadzono interfejs
CanvasBufferedRenderer
API, aby umożliwić korzystanie z akceleracji sprzętowej renderowania Canvas w obiekcieHardwareBuffer
. Można to wykorzystać do narysowania fragmentu interfejsu użytkownika w buforze, który można przekonwertować na bitmapę za pomocą interfejsu APIBitmap.wrapHardwareBuffer
.
Zmiany interfejsu API
- Zaktualizowano interfejs API
CanvasBufferRenderer#releaseBuffer
, aby dodać opcjonalny parametr ogrodzenia. Zaktualizowaliśmy dokumentację, aby określić, kiedy zwracany jest elementRenderResult#fence
. (If1ea7). - Dodaj metodę
draw
doRenderRequest
, aby umożliwić wykorzystywanie współrzędnych do planowania żądań rysowania. Zmieniliśmy nazwę poprzedniej metody rysowania, która korzystała z wykonawcy, nadrawAsync
. Zrefaktoryzowano metodęisClosed()
na właściwość. (I5bff6) - Wykryty parametr formatu bufora na
CanvasFrontBufferRenderer
w celu zmapowania bezpośrednio naCanvasBufferedRenderer.Builder#setBufferFormat
(I0f272) - Utworzono interfejs API
CanvasBufferedRenderer
do obsługi sprzętowego renderowania kanwy z akceleracją sprzętową do formatuHardwareBuffer
. Zapewnia to wsteczną implementację w Androidzie Q wraz z konfiguracją z głębokością wymianyHardwareBuffers
. Konfiguracja wColorSpace
jest nadal ograniczona do Androida U+, ale kompatybilna implementacja zapewnia brak działania po stronie deweloperów w imieniu Google. (I9b1d8). - Dodaj do interfejsu
SurfaceControlCompat.Transaction
interfejsy APIsetFrameRate
/clearFrameRate
, aby kontrolować liczbę klatek i zapewniać płynne lub domyślne przejścia. (I6045C) - Obniżono wymagany poziom interfejsu API
setDataSpace
do Androida Q z Androida T. (I59c34) - Dodano wywołanie zwrotne
onBufferReleased
do interfejsu APIGLFrameBufferRenderer
, aby umożliwić konsumentom wyczyszczenie stanu, gdy bufor nie jest już wyświetlany (I8a4e2). - Utwórz
LowLatencyCanvasView
, aby obsługiwać prosty przypadek użycia renderowania treści z krótkim czasem oczekiwania, które jest synchronizowane z funkcją renderowania hierarchii widoków. Pozwala to zmniejszyć złożoność zarządzaniaSurfaceView
przez wewnętrzne zarządzanie instancjąSurfaceView
, która jest tłumaczona z wyłączenia na ekran na potrzeby synchronizacji i renderowania z krótkim czasem oczekiwania. (I9253B) - Dodano obsługę konfiguracji przestrzeni kolorów do interfejsu API
CanvasFrontBufferedRenderer
. Zaktualizowano wywołania zwrotne w wielu buforach, aby zawierały również buforowane wstecznieSurfaceControl
(I24bd9)
Wersja 1.0.0-alpha05
6 września 2023 r.
Usługa androidx.graphics:graphics-core:1.0.0-alpha05
została zwolniona. Wersja 1.0.0-alfa05 zawiera te zatwierdzenia.
Nowe funkcje
- Wprowadzono
GLFrameBufferRenderer
API. Zapewnia to kombinację zależności OpenGL, konfiguracji łańcucha zamiany, formatów pikseli i konfiguracjiSurfaceControl
. (IC775b)
Zmiany interfejsu API
- Dodano parametry szerokości i wysokości do różnych interfejsów API wywołań zwrotnych dla wymiarów potoku z
SurfaceHolder#Callbacks
. (I7f9fc). - Dodano przejrzysty interfejs API do usuwania zarówno warstw przednich, jak i wielobuforowanych. (Ic1f95).
- Dodano obsługę konfigurowania bazowego typu bufora buforów wymiany używanych w
GLFrontBufferedRenderer
. (I07a13) - Dodano właściwości kotlin dla metod pobierania
GLFrameBufferRenderer
, adnotacjeIntRange
dla maksymalnej liczby wpisów bufora i adnotacjeHardwareBufferFormart
iHardwareBufferUsage
odpowiednio dlasetFormat
/setUsage
. (Ief89e). - Zaktualizowano interfejs API
setBuffer
w przypadkuSurfaceControl
transakcji, aby zapewnić granicę zwalniania. (Ice1bb). - Dodaliśmy interfejsy API
SurfaceControlCompat.Transaction
, aby skonfigurować przestrzeń danych oraz ustawić rozszerzony zakres jasności. (IC378D)
Wersja 1.0.0-alpha04
7 czerwca 2023 r.
Usługa androidx.graphics:graphics-core:1.0.0-alpha04
została zwolniona. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.
Nowe funkcje
- Rozwiązanie
CanvasFrontBufferedRenderer
, które obsługuje grafikę o krótkim czasie oczekiwania, wykorzystując interfejs APIandroid.graphics.Canvas
wraz z dotychczasową implementacją OpenGL.
Zmiany interfejsu API
- Zaktualizowaliśmy interfejs API
SurfaceControlCompat.Transaction#setBuffer
, aby umożliwić instancjiHardwareBuffer
z możliwością wartości null powielanie odpowiedniego interfejsu API platformy (I173d7). - Zamiast tego zmień nazwy metod odwołujące się do renderowania z podwójną buforem, na Multi Buffered, ponieważ zamiana kopii zapasowych może zawierać więcej niż 2 bufory. (I830D7)
- Utwórz interfejs API
CanvasFrontBufferedRenderer
, aby włączyć 3 psy na potrzeby korzystania z systemu renderowania buforowanego z przodu przy użyciu interfejsu Canvas API. (Ibfc29)
Poprawki błędów
- Rozwiązanie problemu polegającego na tym, że usługa
GLFrontBufferedRenderer
nie renderowała treści po wznowieniu danej aktywności. - Rozwiązaliśmy problem polegający na tym, że treści buforowane z przodu były usuwane przedwcześnie.
- Rozwiązaliśmy problem polegający na tym, że interfejs
SurfaceHolder.Callbacks
nie był usuwany po udostępnieniu interfejsów API grafiki o krótkim czasie oczekiwania.
Wersja 1.0.0-alpha03
22 marca 2023 r.
Usługa androidx.graphics:graphics-core:1.0.0-alpha03
została zwolniona. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Zaktualizowaliśmy implementację wywołania zwrotnego
GLFrontBufferedRenderer
, aby udostępnić obiektBufferInfo
zawierający szerokość/wysokość bufora wraz z identyfikatorem bufora ramki, którego można użyć do ponownego kierowania na pierwotne miejsce docelowe po wyrenderowaniu w buforze z wersją pośrednią. (I7fe20) - Skonsolidowano tworzenie
SyncFence
do statycznej metody fabrycznej w dniuSyncFenceCompat
. - Usunięto metodę publicznej zgodności dla
eglDupNativeFenceFDANDROID
na rzecz metody fabrycznejSyncFenceCompat
na potrzeby tworzenia SyncFence. Dzięki temu wszystkie platformy interfejsu API otrzymują prawidłową implementację interfejsuSyncFence
niezależnie od poziomu interfejsu API. (I849bb) - Dodaliśmy dokumentację dotyczącą
FrameBufferRenderer
iSyncStrategy
.- Przeniesiono
FrameBufferRenderer
+FrameBuffer
+FrameBufferPool
do pakietuandroidx.graphics.opengl
- Przeniesiono
SyncStrategy
doandroidx.graphics.opengl
pakietu - Zaktualizowano dokumenty (
RenderCallback#onDraw
) - Zaktualizowana dokumentacja obiektu
RenderCallback#obtainFrameBuffer
wskazuje, że implementator interfejsu API odpowiada za wywoływanie funkcjiFrameBuffer.close
- Zaktualizowano
onDrawComplete
, aby wskazać, że konsumenci są odpowiedzialni za wysyłanie treści do wyświetlenia - Przeniesiono interfejsy/klasy zgodności
SyncFence
do pakietuandroidx.hardware
, aby odzwierciedlić platformę - Zmieniliśmy nazwę interfejsu API
SyncFence
naSyncFenceV19
i umieściliśmy ją jako prywatną, aby skonsolidować przypadki użycia w środowiskuSyncFenceCompat
, co w miarę możliwości wykorzystuje interfejs APISyncFence
platformy. (I5149c)
- Przeniesiono
- Dodano metody
GLFrontBufferedRenderer#cancel
iGLFrontBufferedRenderer#execute
. Pierwszy z nich jest przydatny w sytuacjach odrzucenia dłoni, gdy renderowanie w przednim buforze należy anulować i ukryć przedni bufor. To ostatnie jest przydatne w przypadku manipulowania obiektami w wątku GL bez konieczności planowania renderowania. (If0b7f). - Dodanie interfejsu API w celu renderowania bezpośrednio w warstwie z podwójnym buforowaniem. Pomaga to w ponownym wyrenderowaniu sceny po wznowieniu aplikacji, a jednocześnie daje konsumentom możliwość selektywnego określenia, kiedy należy dynamicznie zastosować renderowanie buforowane z przodu w zależności od żądanej sceny do wyrenderowania. (Ied56c).
- Do
SurfaceControlCompat.Builder
dodano nowy interfejs API umożliwiający konfigurowanie nadrzędnego zasobuSurfaceControl
z innej instancjiSurfaceControl
w uzupełnieniu istniejącego mechanizmu z poziomuSurfaceView
. (I1d1b6). - Większa dopuszczalność zwracanych wartości null wycofanych funkcji ukrytych (Ibf7b0)
- Dodano stałą rozszerzenia
EGL_ANDROID_get_native_client_buffer
do sprawdzania, czy urządzenie z Androidem obsługuje importowanie instancjiHardwareBuffer
do obiektówEGLClientBuffer
, które można wykorzystać jako instancjęEGLImage
. (IAD767). - Dodawanie adnotacji
@JvmDefaultWithCompatibility
(I8f206)
Wersja 1.0.0-alpha02
9 listopada 2022 r.
Usługa androidx.graphics:graphics-core:1.0.0-alpha02
została zwolniona. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Rozwiązaliśmy problem brakującej adnotacji
RequiresApi
w językuaddTransactionCommitListener
, która została wprowadzona w Androidzie S (I0a035). - Zaktualizowaliśmy wywołania zwrotne bufora
onDraw<Front/Double>
, aby udostępnić macierz przekształceń, którą klienci mogą przekazywać do cieniowania wierzchołków oprócz bieżącej szerokości/wysokości bufora. Konsumenci są odpowiedzialni za używanie tych parametrów do właściwego wstępnego rotacji kodu renderowania OpenGL. (I82f9e)
Poprawki błędów
- Krótsze opóźnienie grafiki dzięki wstępnemu obracaniu buforów przed realizacją transakcji
SurfaceControl
. - Rozwiązaliśmy problem, który powodował, że w logach błędów pojawiał się błąd 300d (EGL_BAD_SURFACE).
- Rozwiązaliśmy problem polegający na tym, że wartość
GLFrontBufferedRenderer
była nieprawidłowa po wznowieniu aktywności, w której była używana. - Lepsza obsługa emulatorów i urządzeń z ChromeOS.
- Rozwiązaliśmy problem polegający na tym, że przednia buforowana warstwa mogła się przedwcześnie ukryć.
Wersja 1.0.0-alpha01
24 października 2022 r.
Usługa androidx.graphics:graphics-core:1.0.0-alpha01
została zwolniona. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
- Pierwsza wersja podstawowej biblioteki graficznej na Androidzie X. Obejmuje to interfejsy API przeznaczone do obsługi przypadków użycia z krótkim czasem oczekiwania, takich jak wprowadzanie za pomocą rysika. Wprowadziliśmy też kilka pomocniczych interfejsów API do obsługi OpenGL.
Zmiany interfejsu API
GLFrontBufferedRenderer
ma pomóc w renderowaniu przednim i wielobuforowanym, co pozwala uzyskać zarówno krótki czas oczekiwania, jak i wysoką jakość renderowania.- Wprowadza interfejs
GLRenderer
API, który ułatwia renderowanie w trybie OpenGL dla różnych dostawców platform, takich jakSurfaceView
czyTextureView
.