gráficos

  
Use recursos gráficos em várias versões da Plataforma Android.

Esta tabela lista todos os artefatos no grupo androidx.graphics.

Artefato Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
graphics-core 1.0.3 - - -
graphics-path 1.0.1 - - -
gráficos-formas 1.0.1 - - 1.1.0-alpha01
Esta biblioteca foi atualizada pela última vez em 26 de março de 2025

Declarar dependências

Para adicionar uma dependência a Graphics, é preciso adicionar o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para mais informações.

Adicione as dependências dos artefatos necessários ao arquivo build.gradle do seu app ou módulo:

Groovy

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

Kotlin

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

Para mais informações sobre dependências, consulte Adicionar dependências de build.

Feedback

Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.

Criar novo problema

Consulte a documentação do Issue Tracker para saber mais.

Não há notas de versão para este artefato.

Versão de gráficos 1.1

Versão 1.1.0-alpha01

11 de dezembro de 2024

Lançamento de androidx.graphics:graphics-*:1.1.0-alpha01. A versão 1.1.0-alpha01 contém estas confirmações.

Novos recursos

  • Refiz a demonstração principal em um editor de formas genérico. Isso permite importar formas de um caminho SVG, editar manualmente os recursos detectados em caso de falhas no processo automático e exportar o resultado para um código que pode ser usado em produção. (I1ac13).
  • Substitua as medições de ângulo para o progresso do contorno da forma por medições de comprimento da curva. Isso permite que formas mais complexas sejam usadas para transformação. (I75478) , I390dd
  • Melhoramos o algoritmo de mapeamento de recursos para que mais transformações pareçam mais naturais. (I83287)

Mudanças na API

  • Adição da importação de caminhos SVG e do serializador de recursos. O fluxo normal é:
    • Use o novo SvgPathParser.parseFeatures() para converter um caminho SVG (o valor do atributo d no elemento path de um SVG) em um List<Feature>.
    • Isso pode ser modificado e serializado em uma string com FeatureSerializer.serialize().
    • A string resultante pode ser usada no código de produção, importando-a com FeatureSerializer.parse().
    • As etapas 1 e 2 são realizadas uma vez e podem ser feitas com o novo app. O código de produção só precisa fazer a etapa 3. (I9bd00, b/371196190), (Ic3842), (If68ed), (I10251)
  • Expor recursos e tipos de recursos de polígonos. Agora, RoundedPolygons mais genéricos podem ser criados com o construtor de base que usa um List<Features>. Os recursos são principalmente uma lista de curvas de Bézier cúbicas, mas são marcados para ajudar o algoritmo de transformação a corresponder entre as formas inicial e final (cantos convexos são mapeados para cantos convexos e cantos côncavos são mapeados para cantos côncavos). (I61e76), (I1fc5c)
  • Adiciona suporte para o destino watchosDeviceArm64 KMP e o destino kotlin 1.9. (Icf15d, b/364652024)

Correções de bugs

  • Corrigimos um caso extremo em que o último recurso estava vazio. (I390dd)
  • Tornar a criação de RoundedPolygon mais robusta. (Ib862c, b/360888486)
  • Correção de um bug na inicialização do RoundedPolygon. (I83ddb).
  • Corrigimos um erro no algoritmo para estimar o centro do polígono. (Ida147).

Graphics Shapes: versão 1.0

Versão 1.0.1

4 de setembro de 2024

Lançamento de androidx.graphics:graphics-shapes:1.0.1, androidx.graphics:graphics-shapes-android:1.0.1 e androidx.graphics:graphics-shapes-desktop:1.0.1. A versão 1.0.1 contém estas confirmações.

Versão 1.0.0

21 de agosto de 2024

Lançamento de androidx.graphics:graphics-shapes:1.0.0, androidx.graphics:graphics-shapes-android:1.0.0 e androidx.graphics:graphics-shapes-desktop:1.0.0. A versão 1.0.0 contém estas confirmações.

Versão 1.0.0-rc01

24 de julho de 2024

Lançamento de androidx.graphics:graphics-shapes:1.0.0-rc01, androidx.graphics:graphics-shapes-android:1.0.0-rc01 e androidx.graphics:graphics-shapes-desktop:1.0.0-rc01. A versão 1.0.0-rc01 contém estas confirmações.

Versão 1.0.0-beta01

1º de maio de 2024

Lançamento de androidx.graphics:graphics-shapes:1.0.0-beta01, androidx.graphics:graphics-shapes-android:1.0.0-beta01 e androidx.graphics:graphics-shapes-desktop:1.0.0-beta01. A versão 1.0.0-beta01 contém estas confirmações.

Mudanças na API

  • Permite que as formas sejam pré-giradas para começar em um ponto diferente. Essa mudança permite que as formas pillStar iniciem as curvas em um ponto não padrão no perímetro. Isso pode ser útil ao animar o traçado do caminho da forma para começar a desenhar de um local específico no contorno da forma. (Ifbb4d, b/324303807)
  • Adicionamos funções calculateBounds() ao Morph, que são paralelas às mesmas funções no RoundedPolygon. (I8a3b6, b/325463575)

Versão 1.0.0-alpha05

7 de fevereiro de 2024

Lançamento de androidx.graphics:graphics-shapes:1.0.0-alpha05, androidx.graphics:graphics-shapes-android:1.0.0-alpha05 e androidx.graphics:graphics-shapes-desktop:1.0.0-alpha05. A versão 1.0.0-alpha05 contém estas confirmações.

Novos recursos

  • Agora, a biblioteca oferece novas funções pill() e pillStar() para facilitar a criação dessas formas arredondadas/estreladas. Também há novas APIs para calcular os limites exatos necessários para uma forma (os limites anteriores eram apenas uma estimativa com base na âncora e nos pontos de controle da curva de Bézier subjacente), bem como os limites máximos possíveis, que podem ser úteis para determinar o tamanho do contêiner que a contém se ela for girada dentro desse contêiner. (I71827).

Mudanças na API

  • Agora há mais opções para recuperar limites exatos e máximos. (I6d49f, b/317286450)

Correções de bugs

  • Havia artefatos de renderização ocasionais ao desenhar essas formas como caminhos traçados, devido a um problema de renderização de baixo nível relacionado a curvas de comprimento zero. Esse bug foi corrigido com a eliminação de todas as curvas de comprimento zero (que as formas não precisam, economizando também a sobrecarga dos caminhos produzidos pelas formas).

Versão 1.0.0-alpha04

13 de dezembro de 2023

Lançamento de androidx.graphics:graphics-shapes:1.0.0-alpha04, androidx.graphics:graphics-shapes-android:1.0.0-alpha04 e androidx.graphics:graphics-shapes-desktop:1.0.0-alpha04. A versão 1.0.0-alpha04 contém estas confirmações.

Novos recursos

  • Esta versão contém várias mudanças na API, além de correções de bugs.
  • Muitas das mudanças na API tornam a biblioteca Shapes compatível com o KMP. Isso facilita a chamada de código não Android, como código do Compose independente do Android. Por exemplo, não há tipos do Android na API, como os tipos PointF, Matrix e Path anteriores.
  • Também foram feitas várias mudanças nas APIs e na implementação por motivos de performance, especificamente para minimizar a alocação (e coleta) de objetos. Por exemplo, a mudança de PointF para parâmetros Float separados evita a alocação de muitas estruturas PointF temporárias para armazenar esses vértices.

Mudanças na API

  • Substituímos Morph.asMutableCubics por uma função para iterar sobre o MutableCubics. Mudança na interface funcional PointTransformer. Agora ela usa coordenadas x e y de um Point e retorna um TransformedResult (construído com as coordenadas x e y transformadas). (I6719e)
  • O construtor público Cubic foi removido e transformado em uma função de fábrica. (I409ce).
  • Adição de APIs de transformação e desenho específicas do Android (I079f6, b/292289543).
  • Eliminação das dependências do Android (Iadc1c, b/292289543).
  • Os nomes das propriedades de ancoragem e controle agora são mais sensatos (If13bd, b/294562941).
  • Os parâmetros PointF foram alterados para pares Float (Id4705, b/276466399, b/290254314).
  • Agora, progress é transmitido diretamente para os comandos de desenho Morph (Icdca2).

Correções de bugs

Versão 1.0.0-alpha03

7 de junho de 2023

Lançamento de androidx.graphics:graphics-shapes:1.0.0-alpha03. A versão 1.0.0-alpha03 contém estas confirmações.

Mudanças na API

  • Adição da nova função RoundedPolygon.rectangle() (I78e7e, b/280322189).
  • As funções "Star" e "Circle" agora são minúsculas e chamadas pelo objeto complementar de RoundedPolygon. Por exemplo: RoundedPolygon.star(...)(I14735)

Correções de bugs

  • Correção de um bug na suavização (Ibf894).
  • Correção de um bug que ocorria quando as formas de início e fim eram iguais. Melhor distribuição do espaço disponível na lateral para cortes, primeiro usando o espaço disponível para arredondamento e, depois, para suavização, se houver espaço restante. (Ibd320, b/277936300)

Versão 1.0.0-alpha02

19 de abril de 2023

Lançamento de androidx.graphics:graphics-shapes:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estas confirmações.

Mudanças na API

  • A superclasse Polygon foi mesclada com a subclasse RoundedPolygon. Agora, todos os polígonos são polígonos arredondados [opcionalmente].
  • A função Star (que ainda retorna um RoundedPolygon, como antes) agora usa um valor innerRadius, em vez do parâmetro innerRadiusRatio anterior. Isso está nas mesmas unidades do parâmetro de raio atual, o que torna as coisas mais simples e consistentes. Além disso, o parâmetro numOuterVertices foi renomeado como numVerticesPerRadius para esclarecer que o mesmo número é aplicado aos raios interno e externo.
  • Antes, CornerRounding.radius era documentado como relativo ao tamanho do polígono, mas era (e deve ser) um valor absoluto, não relativo. A documentação foi atualizada, e a anotação que limitava a um valor máximo de 1,0 foi corrigida.

Versão 1.0.0-alpha01

5 de abril de 2023

O Graphics-Shapes é uma nova biblioteca que permite a criação e a renderização fáceis de formas poligonais arredondadas, além de transformação (animação) simples e automática entre diferentes formas.

Lançamento de androidx.graphics:graphics-shapes:1.0.0-alpha01. Esta versão foi lançada em uma ramificação interna.

Novos recursos

  • Use a API Polygon para criar polígonos regulares e estrelados com o número desejado de vértices.
  • Use parâmetros CornerRounding opcionais para especificar o raio de arredondamento e os parâmetros de suavização dos cantos, resultando em formas poligonais com cantos arredondados.
  • Use a nova API Morph(Polygon, Polygon) para calcular automaticamente uma forma de "transformação" cujo progresso pode ser definido de 0 a 1 para animar entre as formas inicial e final. Anime esse progresso ao longo do tempo, desenhando o resultado em cada frame, para criar uma animação suave entre essas novas formas arredondadas.

Graphics Path: versão 1.0

Versão 1.0.1

1º de maio de 2024

Lançamento de androidx.graphics:graphics-path:1.0.1. A versão 1.0.1 contém estas confirmações.

Correções de bugs

  • Melhorias nos flags do compilador.

Versão 1.0.0

6 de março de 2024

Lançamento de androidx.graphics:graphics-path:1.0.0.

Versão 1.0.0-rc01

21 de fevereiro de 2024

Lançamento de androidx.graphics:graphics-path:1.0.0-rc01. A versão 1.0.0-rc01 contém estas confirmações.

Correções de bugs

  • Melhoria na performance de PathIterator em APIs < 34 (Id4629).

Versão 1.0.0-beta02

10 de janeiro de 2024

As mudanças nesta versão foram todas sobre a redução do tamanho da biblioteca, que era maior do que o necessário devido a pressupostos feitos pelo código nativo.

Lançamento de androidx.graphics:graphics-path:1.0.0-beta02. A versão 1.0.0-beta02 contém estas confirmações.

Correções de bugs

  • O tamanho de libandroidx.graphics.path.so foi reduzido em 96%. (I71397)
  • Reduza o tamanho de libandroidx.graphics.path.so em 5%. (I2da7c).
  • Reduzimos os componentes nativos de androidx.graphics:graphics-path em 43%. (I8e40d).

Versão 1.0.0-beta01

29 de novembro de 2023

Lançamento de androidx.graphics:graphics-path:1.0.0-beta01. A versão 1.0.0-beta01 contém estas confirmações.

Mudanças na API

Correções de bugs

  • Várias correções e melhorias de desempenho, incluindo como a biblioteca lida com cônicas.

Versão 1.0.0-alpha02

7 de junho de 2023

Lançamento de androidx.graphics:graphics-path:1.0.0-alpha02. Esta versão foi desenvolvida em uma ramificação interna.

Novos recursos

  • Foi corrigido um problema com a verificação interna da versão da plataforma que causava problemas ao executar em prévias do Android 14. A verificação da versão falhava, mas o mecanismo para fazer coisas em versões anteriores não funcionava corretamente no Android 14.

Versão 1.0.0-alpha01

22 de março de 2023

Lançamento de androidx.graphics:graphics-path:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.

Novos recursos

  • Essa nova biblioteca permite consultar dados de caminho usando a nova API PathIterator. Com essa API, os chamadores podem iterar por todos os segmentos de um objeto "Path" para determinar a operação e os dados desses segmentos.
  • A biblioteca usa APIs semelhantes às introduzidas na prévia do Android 14, mas essa versão AndroidX da API também funciona em versões anteriores à API 21.

Graphics Core: versão 1.0

Versão 1.0.3

26 de março de 2025

Lançamento de androidx.graphics:graphics-core:1.0.3. A versão 1.0.3 contém estas confirmações.

Correções de bugs

  • Correção de tremulações em tela cheia ao desenhar em determinados dispositivos com API<33.

Versão 1.0.2

16 de outubro de 2024

Lançamento de androidx.graphics:graphics-core:1.0.2. A versão 1.0.2 contém estas confirmações.

Correções de bugs

  • Corrigimos o problema em que as instâncias SurfaceControl ainda eram gerenciadas pelo compositor do sistema mesmo depois de serem liberadas.
  • Correção de um problema em que a instância HardwareBuffer apresentada no momento não era liberada depois que as dependências de baixa latência eram descartadas.
  • Correção de um problema de oscilação em determinados dispositivos Android 14 ou versões mais recentes que não tinham suporte à flag de uso do buffer frontal.

Versão 1.0.1

4 de setembro de 2024

Lançamento de androidx.graphics:graphics-core:1.0.1. A versão 1.0.1 contém estas confirmações.

Correções de bugs

  • Correção de um problema em que os recursos de memória não eram liberados ocasionalmente.

Versão 1.0.0

29 de maio de 2024

Lançamento de androidx.graphics:graphics-core:1.0.0. A versão 1.0.0 contém estas confirmações.

Principais recursos da versão 1.0.0

  • Versão estável oficial da biblioteca graphics-core. Inclui pequenas correções de bugs e melhorias de desempenho da versão 1.0.0-rc01.

Versão 1.0.0-rc01

17 de abril de 2024

Lançamento de androidx.graphics:graphics-core:1.0.0-rc01. Esta versão foi desenvolvida em uma ramificação interna.

Correções de bugs

  • Correção de um problema que levava ao possível fechamento duplo de descritores de arquivo com o CanvasBufferedRendererAPI em determinados dispositivos Android com o Android 14.
  • Correção de um problema em que o FrameBuffer não excluía corretamente as instâncias de framebuffer.

Versão 1.0.0-beta01

13 de dezembro de 2023

Lançamento de androidx.graphics:graphics-core:1.0.0-beta01. A versão 1.0.0-beta01 contém estas confirmações.

Novos recursos

  • Introduzimos uma nova API LowLatencyCanvasView para oferecer suporte à renderização de baixa latência com as APIs de gráficos 2D do Android (Canvas + Paint) na hierarquia de visualização.
  • Introduzida a API CanvasBufferedRenderer para oferecer suporte à renderização de tela acelerada por hardware em um HardwareBuffer. Isso pode ser usado para desenhar uma parte de uma interface do usuário em um buffer que pode ser convertido em um bitmap usando a API Bitmap.wrapHardwareBuffer.

Mudanças na API

  • A API CanvasBufferRenderer#releaseBuffer foi atualizada para ter um parâmetro de limite opcional. Atualizamos a documentação para descrever quando RenderResult#fence é retornado. (If1ea7)
  • Adicione o método draw a RenderRequest para aproveitar as corrotinas e programar solicitações de desenho. Renomeamos o método de extração anterior que consumia um executor para drawAsync. Refatoração do método isClosed() para uma propriedade. (I5bff6).
  • O parâmetro de formato de buffer exposto para CanvasFrontBufferRenderer foi mapeado diretamente para CanvasBufferedRenderer.Builder#setBufferFormat (I0f272).
  • Criação da API CanvasBufferedRenderer para processar a renderização de tela acelerada por hardware em um HardwareBuffer. Isso fornece uma implementação de backport para o Android Q, além da configuração de uma profundidade de cadeia de troca de HardwareBuffers. A configuração ColorSpace ainda é limitada ao Android U+, mas a implementação de compatibilidade não oferece comportamento de no-op em nome dos desenvolvedores. (I9b1d8)
  • Adicione APIs setFrameRate/clearFrameRate a SurfaceControlCompat.Transaction para controlar a taxa de frames e a estratégia de mudança para transições perfeitas ou padrão. (I6045c)
  • Reduzimos o nível de API necessário para setDataSpace do Android T para o Android Q. (I59c34).
  • Adição do callback onBufferReleased à API GLFrameBufferRenderer para dar aos consumidores a oportunidade de limpar o estado quando um buffer não estiver mais sendo apresentado (I8a4e2)
  • Crie LowLatencyCanvasView para oferecer suporte a um caso de uso simples de renderização de conteúdo com baixa latência que é sincronizado com a renderização da hierarquia de visualização. Isso reduz as complexidades associadas ao gerenciamento de SurfaceView, gerenciando internamente a instância de SurfaceView que é traduzida para fora/dentro da tela para renderização sincronizada e de baixa latência, respectivamente. (I9253b).
  • Adicionamos suporte à configuração de espaço de cores à API CanvasFrontBufferedRenderer. Callbacks multibuffer atualizados para incluir também o SurfaceControl com buffer de retorno (I24bd9)

Versão 1.0.0-alpha05

6 de setembro de 2023

Lançamento de androidx.graphics:graphics-core:1.0.0-alpha05. A versão 1.0.0-alpha05 contém estas confirmações.

Novos recursos

  • Lançamento da API GLFrameBufferRenderer. Isso fornece uma combinação de dependências do OpenGL, configuração da cadeia de troca, formatos de pixel e configuração SurfaceControl. (Ic775b)

Mudanças na API

  • Adicionamos parâmetros de largura e altura a várias APIs de callback para transmitir dimensões de SurfaceHolder#Callbacks. (I7f9fc)
  • Adicionamos uma API de limpeza para limpar as camadas frontais e com vários buffers. (Ic1f95).
  • Adicionamos suporte para configurar o tipo de buffer das cadeias de troca usadas em GLFrontBufferedRenderer. (I07a13).
  • Adição de propriedades Kotlin para getters em GLFrameBufferRenderer, anotação IntRange para entradas máximas de buffer e anotações HardwareBufferFormart e HardwareBufferUsage para setFormat/setUsage, respectivamente. (Ief89e)
  • A API setBuffer foi atualizada em transações SurfaceControl para fornecer uma barreira de lançamento. (Ice1bb).
  • Adição de APIs SurfaceControlCompat.Transaction para configurar o espaço de dados e definir o intervalo de brilho estendido. (Ic378d).

Versão 1.0.0-alpha04

7 de junho de 2023

Lançamento de androidx.graphics:graphics-core:1.0.0-alpha04. A versão 1.0.0-alpha04 contém estas confirmações.

Novos recursos

  • Introdução do CanvasFrontBufferedRenderer para oferecer suporte a gráficos de baixa latência usando a API android.graphics.Canvas junto com a implementação do OpenGL

Mudanças na API

  • A API SurfaceControlCompat.Transaction#setBuffer foi atualizada para permitir instâncias HardwareBuffer anuláveis e espelhar a API da plataforma correspondente (I173d7).
  • Renomeie os métodos que se referem à renderização de buffer duplo para buffer múltiplo, já que a cadeia de troca de suporte pode conter mais de dois buffers. (I830d7)
  • Crie a API CanvasFrontBufferedRenderer para permitir que terceiros aproveitem um sistema de renderização com buffer frontal usando a API Canvas. (Ibfc29).

Correções de bugs

  • Corrigimos o problema em que o GLFrontBufferedRenderer não renderizava o conteúdo após a retomada da atividade correspondente.
  • Corrigimos o problema em que o conteúdo armazenado em buffer na frente era limpo de forma prematura.
  • Correção de um problema em que SurfaceHolder.Callbacks não era removido após o lançamento de APIs de gráficos de baixa latência.

Versão 1.0.0-alpha03

22 de março de 2023

Lançamento de androidx.graphics:graphics-core:1.0.0-alpha03. A versão 1.0.0-alpha03 contém estas confirmações.

Mudanças na API

  • A implementação do callback GLFrontBufferedRenderer foi atualizada para fornecer o objeto BufferInfo, que contém largura/altura do buffer e um identificador de buffer de frame que pode ser usado para redirecionar o destino original após a renderização em um buffer de scratch intermediário. (I7fe20).
  • Criação de SyncFence consolidada para o método de fábrica estática em SyncFenceCompat.
  • O método de compatibilidade pública para eglDupNativeFenceFDANDROID foi removido em favor do método de fábrica SyncFenceCompat para criação de SyncFence. Isso garante que todas as superfícies da API recebam a implementação correta do SyncFence, seja qual for o nível da API. (I849bb).
  • Adicionamos uma documentação para FrameBufferRenderer e SyncStrategy.
    • FrameBufferRenderer + FrameBuffer + FrameBufferPool movido para o pacote androidx.graphics.opengl
    • SyncStrategy movido para o pacote androidx.graphics.opengl
    • Documentos do RenderCallback#onDraw atualizados
    • Atualização da documentação de RenderCallback#obtainFrameBuffer, em que o implementador da API é responsável por chamar FrameBuffer.close
    • Atualizamos o onDrawComplete para indicar que os consumidores são responsáveis por enviar o conteúdo a ser exibido.
    • Movemos as interfaces/classes de compatibilidade do SyncFence para o pacote androidx.hardware para espelhar o framework.
    • A API SyncFence foi renomeada como SyncFenceV19 e tornou-se particular para consolidar os usos em SyncFenceCompat, que aproveita a API SyncFence do framework sempre que possível. (I5149c).
  • Adição dos métodos GLFrontBufferedRenderer#cancel e GLFrontBufferedRenderer#execute. O primeiro é útil em cenários de rejeição de toque com a palma da mão, em que a renderização no buffer frontal precisa ser cancelada e o buffer frontal precisa ser ocultado. O último é útil em cenários para manipular objetos na linha de execução do GL sem precisar programar uma renderização. (If0b7f).
  • Adicione a API para renderizar diretamente na camada de buffer duplo. Isso ajuda a renderizar novamente uma cena após a retomada, além de dar aos consumidores a oportunidade de determinar seletivamente quando aproveitar a renderização com buffer frontal de forma dinâmica com base na cena desejada. (Ied56c).
  • Adição de uma nova API ao SurfaceControlCompat.Builder para permitir a configuração do SurfaceControl principal de outra instância SurfaceControl, além do mecanismo atual de um SurfaceView. (I1d1b6).
  • Mais nulidade do tipo de retorno das funções com uso oculto (Ibf7b0).
  • Adicionamos a constante de extensão EGL_ANDROID_get_native_client_buffer para consultar se o dispositivo Android oferece suporte à importação de instâncias HardwareBuffer em objetos EGLClientBuffer que podem ser consumidos como uma instância EGLImage. (Iad767).
  • A anotação @JvmDefaultWithCompatibility foi adicionada (I8f206).

Versão 1.0.0-alpha02

9 de novembro de 2022

Lançamento de androidx.graphics:graphics-core:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estas confirmações.

Mudanças na API

  • Correção da anotação RequiresApi ausente no addTransactionCommitListener, que foi introduzida no Android S (I0a035).
  • Os callbacks de buffer onDraw<Front/Double> foram atualizados para fornecer uma matriz de transformação que os consumidores podem transmitir para os sombreadores de vértice, além da largura e altura do buffer atual. Os consumidores são responsáveis por usar esses parâmetros para pré-rotacionar da forma correta o código de renderização do OpenGL (I82f9e).

Correções de bugs

  • Melhorada a latência gráfica ao pré-rotacionar os buffers antes de emitir transações SurfaceControl.
  • Corrigido o problema em que os registros de erros mostravam o erro 300d (EGL_BAD_SURFACE).
  • Corrigimos o problema em que o GLFrontBufferedRenderer era considerado inválido após a retomada da atividade correspondente.
  • Aumento do suporte aos emuladores e dispositivos ChromeOS.
  • Corrigimos o problema em que a camada de buffer frontal podia ser ocultada de forma prematura.

Versão 1.0.0-alpha01

24 de outubro de 2022

Lançamento de androidx.graphics:graphics-core:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.

Novos recursos

  • Versão inicial da principal biblioteca de gráficos do AndroidX. Essa versão inclui APIs compatíveis com casos de uso de baixa latência, como entrada da stylus. Também introduz algumas APIs auxiliares para uso do OpenGL.

Mudanças na API

  • Introdução de GLFrontBufferedRenderer para auxiliar na renderização frontal e com vários buffers a fim de alcançar saída de baixa latência e alta qualidade de renderização.
  • Introdução da API GLRenderer para auxiliar na renderização do OpenGL para vários provedores de Surface, como SurfaceView, TextureView e outros.