그래픽

  
여러 Android 플랫폼 출시에서 그래픽 기능을 활용합니다.

이 표에는 androidx.graphics 그룹의 모든 아티팩트가 나열됩니다.

아티팩트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
그래픽 코어 1.0.1 - - -
그래픽 경로 1.0.1 - - -
그래픽 도형 1.0.1 - - -
이 라이브러리는 2024년 9월 4일에 최종 업데이트되었습니다.

종속 항목 선언

Graphics의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용을 알아보려면 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

Groovy

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")
}

종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.

의견

제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.

새로운 문제 제출하기

자세한 내용은 Issue Tracker 문서를 참고하세요.

이 아티팩트의 출시 노트는 없습니다.

그래픽 도형 버전 1.0

버전 1.0.0

2024년 8월 21일

androidx.graphics:graphics-shapes:1.0.0, androidx.graphics:graphics-shapes-android:1.0.0androidx.graphics:graphics-shapes-desktop:1.0.0가 출시되었습니다. 버전 1.0.0에 포함된 커밋을 확인하세요.

버전 1.0.0-rc01

2024년 7월 24일

androidx.graphics:graphics-shapes:1.0.0-rc01, androidx.graphics:graphics-shapes-android:1.0.0-rc01androidx.graphics:graphics-shapes-desktop:1.0.0-rc01가 출시되었습니다. 버전 1.0.0-rc01에 포함된 커밋을 확인하세요.

버전 1.0.0-beta01

2024년 5월 1일

androidx.graphics:graphics-shapes:1.0.0-beta01, androidx.graphics:graphics-shapes-android:1.0.0-beta01androidx.graphics:graphics-shapes-desktop:1.0.0-beta01가 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.

API 변경사항

  • 도형이 다른 지점에서 시작되도록 미리 회전할 수 있습니다. 이렇게 변경하면 pillStar 도형이 경계의 기본이 아닌 점에서 곡선을 시작할 수 있습니다. 이 기능은 도형의 경로 스트로킹에 애니메이션을 적용할 때 도형 윤곽선의 특정 위치에서 그리기를 시작할 때 유용할 수 있습니다. 추가했습니다. (Ifbb4d, b/324303807)
  • RoundedPolygon에서 동일한 함수와 동일한 calculateBounds() 함수를 Morph에 추가했습니다. 추가했습니다. (I8a3b6, b/325463575)

버전 1.0.0-alpha05

2024년 2월 7일

androidx.graphics:graphics-shapes:1.0.0-alpha05, androidx.graphics:graphics-shapes-android:1.0.0-alpha05androidx.graphics:graphics-shapes-desktop:1.0.0-alpha05가 출시되었습니다. 버전 1.0.0-alpha05에 포함된 커밋을 확인하세요.

새로운 기능

  • 이제 라이브러리에서 둥근/별표표시된 도형을 쉽게 만들 수 있는 새로운 pill()pillStar() 함수를 제공합니다. 셰이프에 필요한 정확한 경계를 계산하는 새로운 API도 있습니다 (이전 경계는 기본 베지어 곡선 앵커 및 컨트롤 포인트를 기반으로 한 추정치였음), 가능한 최대 경계는 이 컨테이너 내에서 회전되는 경우 컨테이너를 보유하고 있는 컨테이너의 크기를 결정하는 데 도움이 될 수 있습니다. 추가했습니다. (I71827)

API 변경사항

  • 정확한 범위 및 최대 범위를 가져오는 옵션이 추가되었습니다. 추가했습니다. (I6d49f, b/317286450)

버그 수정

  • 길이가 0인 곡선과 관련된 낮은 수준의 렌더링 문제로 인해 이러한 도형을 획이 있는 경로로 그릴 때 렌더링 아티팩트가 가끔 발생합니다. 이 버그는 길이가 0인 곡선 (도형에 필요하지 않은 모든 곡선을 제거하여 도형에 의해 생성되는 경로의 오버헤드도 절약)를 제거함으로써 수정되었습니다.

버전 1.0.0-alpha04

2023년 12월 13일

androidx.graphics:graphics-shapes:1.0.0-alpha04, androidx.graphics:graphics-shapes-android:1.0.0-alpha04androidx.graphics:graphics-shapes-desktop:1.0.0-alpha04가 출시되었습니다. 버전 1.0.0-alpha04에 포함된 커밋을 확인하세요.

새로운 기능

  • 이 릴리스에는 여러 API 변경사항 및 버그 수정이 포함되어 있습니다.
  • 많은 API 변경으로 인해 Shapes 라이브러리가 KMP와 호환됩니다. 이렇게 하면 Android가 아닌 코드 (예: Android에 구속되지 않는 Compose 코드)에서 더 쉽게 호출할 수 있습니다. 예를 들어 API에는 이전 PointF, Matrix, Path 유형과 같은 Android 유형이 없습니다.
  • 또한 성능상의 이유로, 특히 객체 할당 (및 수집)을 최소화하기 위해 API 및 구현에 몇 가지 변경사항이 적용되었습니다. 예를 들어 PointF에서 별도의 Float 매개변수로 이동하면 이러한 꼭짓점을 유지하기 위해 많은 임시 PointF 구조를 할당할 필요가 없습니다.

API 변경사항

  • Morph.asMutableCubicsMutableCubics를 반복하는 함수로 대체했습니다. PointTransformer 기능 인터페이스를 변경했습니다. 이제 Point의 x 및 y 좌표를 가져와 변환된 x 및 y 좌표로 구성된 TransformedResult를 반환합니다. (I6719e)
  • 공개 Cubic 생성자를 삭제하고 팩토리 함수로 만들었습니다. 추가했습니다. (I409ce)
  • Android 전용 변환 및 그리기 API를 추가했습니다. (I079f6, b/292289543)
  • Android 종속 항목을 제거합니다. (Iadc1c, b/292289543)
  • 이제 앵커 및 컨트롤 속성 이름이 더 적합합니다. (If13bd, b/294562941)
  • PointF 매개변수가 Float 쌍으로 변경되었습니다. (Id4705, b/276466399, b/290254314)
  • 이제 progressMorph 그리기 명령어에 직접 전달됩니다. (Icdca2)

버그 수정

  • 큰 도형을 만들 때 발생하는 버그를 수정했습니다. 추가했습니다. (I4fd66, b/313497325)

버전 1.0.0-alpha03

2023년 6월 7일

androidx.graphics:graphics-shapes:1.0.0-alpha03이 출시되었습니다. 버전 1.0.0-alpha03에 포함된 커밋을 확인하세요.

API 변경사항

  • 새로운 RoundedPolygon.rectangle() 함수를 추가했습니다. (I78e7e, b/280322189)
  • 별표 및 원 함수는 이제 대문자로 표기되며 RoundedPolygon의 컴패니언 객체를 통해 호출됩니다. 예를 들면 RoundedPolygon.star(...)(I14735)

버그 수정

  • 평활화 관련 버그를 수정했습니다. (Ibf894)
  • 시작 및 끝 모양이 동일할 때 발생하는 버그를 수정했습니다. 컷을 위해 측면에 사용 가능한 공간을 더 잘 분배합니다. 먼저 라운딩에 사용 가능한 공간을 사용하고 남은 공간이 있는 경우 부드럽게 하기 위해 사용합니다. 추가했습니다. (Ibd320, b/277936300)

버전 1.0.0-alpha02

2023년 4월 19일

androidx.graphics:graphics-shapes:1.0.0-alpha02이 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.

API 변경사항

  • Polygon 슈퍼클래스가 서브클래스 RoundedPolygon와 병합되었습니다. 이제 모든 다각형은 [선택적으로] 둥근 다각형이 됩니다.
  • 이제 별표 함수 (이전과 마찬가지로 여전히 RoundedPolygon를 반환함)는 이전 innerRadiusRatio 매개변수 대신 innerRadius 값을 사용합니다. 이 값은 기존 반경 매개변수와 같은 단위로 적용되므로 더 간단하고 일관되게 설정할 수 있습니다. 또한 내부와 외부 반경에 동일한 숫자가 적용됨을 명확히 하기 위해 numOuterVertices 매개변수의 이름을 numVerticesPerRadius로 바꾸었습니다.
  • CornerRounding.radius는 이전에 다각형의 크기를 기준으로 하는 것으로 문서화되었지만, 상대값이 아닌 절대값이었습니다 (그리고 그렇게 되어야 함). 문서가 업데이트되었으며 최대값 1.0으로 제한하는 주석이 수정되었습니다.

버전 1.0.0-alpha01

2023년 4월 5일

Graphics-Shapes는 둥근 다각형 도형을 쉽게 만들고 렌더링할 수 있을 뿐만 아니라 여러 도형 간의 간단한 자동 모핑 (애니메이션)을 가능하게 하는 새로운 라이브러리입니다.

androidx.graphics:graphics-shapes:1.0.0-alpha01이 출시되었습니다. 이 버전은 내부 브랜치에서 출시되었습니다.

새로운 기능

  • Polygon API를 사용하여 원하는 꼭짓점 수로 일반 다각형과 별표 다각형을 만듭니다.
  • 선택사항인 CornerRounding 매개변수를 사용하여 모서리의 반올림 반경과 평활화 매개변수를 지정하면 모서리가 둥근 다각형 모양이 됩니다.
  • Morph(Polygon, Polygon) API를 사용하면 '모프' 도형을 자동으로 계산할 수 있으며, 이 도형의 진행률을 0에서 1로 설정하여 시작 도형과 종료 도형 간에 애니메이션을 적용할 수 있습니다. 시간 경과에 따른 진행 상황을 애니메이션으로 만들어 모든 프레임에 결과를 그려서 둥근 새 도형 간에 부드러운 애니메이션을 만듭니다.

Graphics Path 버전 1.0

버전 1.0.1

2024년 5월 1일

androidx.graphics:graphics-path:1.0.1이 출시되었습니다. 버전 1.0.1에 포함된 커밋을 확인하세요.

버그 수정

  • 컴파일러 플래그가 개선되었습니다.

버전 1.0.0

2024년 3월 6일

androidx.graphics:graphics-path:1.0.0이 출시되었습니다.

버전 1.0.0-rc01

2024년 2월 21일

androidx.graphics:graphics-path:1.0.0-rc01이 출시되었습니다. 버전 1.0.0-rc01에 포함된 커밋을 확인하세요.

버그 수정

버전 1.0.0-beta02

2024년 1월 10일

이번 릴리스에서 변경된 사항은 네이티브 코드의 가정으로 인해 라이브러리 크기를 줄이는 것이었습니다.

androidx.graphics:graphics-path:1.0.0-beta02이 출시되었습니다. 버전 1.0.0-beta02에 포함된 커밋을 확인하세요.

버그 수정

  • libandroidx.graphics.path.so의 크기를 96% 줄였습니다. 추가했습니다. (I71397)
  • libandroidx.graphics.path.so의 크기를 5% 줄입니다. 추가했습니다. (I2da7c)
  • androidx.graphics:graphics-path의 기본 구성요소를 43% 축소했습니다. 추가했습니다. (I8e40d)

버전 1.0.0-beta01

2023년 11월 29일

androidx.graphics:graphics-path:1.0.0-beta01이 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.

API 변경사항

버그 수정

  • 라이브러리에서 코닉을 처리하는 방식을 포함하여 다양한 수정 및 성능이 개선되었습니다.

버전 1.0.0-alpha02

2023년 6월 7일

androidx.graphics:graphics-path:1.0.0-alpha02이 출시되었습니다. 이 버전은 내부 브랜치에서 개발되었습니다.

새로운 기능

  • Android 14 미리보기에서 실행할 때 문제를 일으키는 내부 플랫폼 버전 확인 문제가 수정되었습니다 (버전 확인은 실패하지만 이전 버전에서 작업을 실행하는 메커니즘은 특히 Android 14에서 올바르게 작동하지 않음).

버전 1.0.0-alpha01

2023년 3월 22일

androidx.graphics:graphics-path:1.0.0-alpha01이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.

새로운 기능

  • 이 새로운 라이브러리를 사용하면 새 PathIterator API를 통해 경로 데이터를 쿼리할 수 있습니다. 호출자는 이 API를 사용하여 Path 객체의 모든 세그먼트를 반복하여 해당 세그먼트의 작업과 데이터를 결정할 수 있습니다.
  • 라이브러리는 Android 14 미리보기에 도입된 유사한 API를 사용하지만 이 AndroidX 버전의 API는 API 21 이전 버전에서도 작동합니다.

Graphics Core 버전 1.0

버전 1.0.1

2024년 9월 4일

androidx.graphics:graphics-core:1.0.1이 출시되었습니다. 버전 1.0.1에 포함된 커밋을 확인하세요.

버그 수정

  • 메모리 리소스가 가끔 해제되지 않는 문제가 수정되었습니다.

버전 1.0.0

2024년 5월 29일

androidx.graphics:graphics-core:1.0.0이 출시되었습니다. 버전 1.0.0에 포함된 커밋을 확인하세요.

1.0.0의 주요 기능

  • 그래픽 코어 라이브러리의 공식 안정화 버전입니다. 1.0.0-rc01의 사소한 버그 수정 및 성능 개선사항을 포함합니다.

버전 1.0.0-rc01

2024년 4월 17일

androidx.graphics:graphics-core:1.0.0-rc01이 출시되었습니다. 이 버전은 내부 브랜치에서 개발되었습니다.

버그 수정

  • Android 14를 실행하는 특정 Android 기기에서 CanvasBufferedRendererAPI로 파일 설명자가 이중으로 닫힐 가능성이 있는 문제가 수정되었습니다.
  • FrameBuffer가 프레임 버퍼 인스턴스를 제대로 삭제하지 못하는 문제가 수정되었습니다.

버전 1.0.0-beta01

2023년 12월 13일

androidx.graphics:graphics-core:1.0.0-beta01이 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.

새로운 기능

  • 뷰 계층 구조 내에서 Android의 2D 그래픽 API (캔버스 + 페인트)를 사용하여 짧은 지연 시간 렌더링을 지원하는 새로운 LowLatencyCanvasView API를 도입했습니다.
  • HardwareBuffer에 하드웨어 가속 캔버스 렌더링을 지원하는 CanvasBufferedRenderer API를 도입했습니다. 이는 Bitmap.wrapHardwareBuffer API를 사용하여 비트맵으로 변환할 수 있는 버퍼에 사용자 인터페이스의 일부를 그리는 데 사용할 수 있습니다.

API 변경사항

  • 선택적 펜스 매개변수를 포함하도록 CanvasBufferRenderer#releaseBuffer API를 업데이트했습니다. RenderResult#fence이 반환되는 시점을 설명하도록 문서를 업데이트했습니다. 추가했습니다. (If1ea7)
  • 코루틴을 활용하여 그리기 요청을 예약할 수 있도록 RenderRequestdraw 메서드를 추가합니다. 실행자를 사용한 이전의 그리기 메서드의 이름을 drawAsync로 변경했습니다. isClosed() 메서드를 속성으로 리팩터링했습니다. 추가했습니다. (I5bff6)
  • CanvasBufferedRenderer.Builder#setBufferFormat에 직접 매핑되도록 버퍼 형식 매개변수를 CanvasFrontBufferRenderer에 노출했습니다. (I0f272)
  • 하드웨어 가속 캔버스 렌더링을 HardwareBuffer로 처리하는 CanvasBufferedRenderer API를 만들었습니다. 이는 HardwareBuffers의 swapchain 깊이 구성과 함께 Android Q에 백포트된 구현을 제공합니다. ColorSpace 구성은 여전히 Android U+로 제한되지만 compat 구현은 개발자의 있습니다. 추가했습니다. (I9b1d8)
  • 원활한 전환 또는 기본 전환을 위한 변경 전략과 함께 프레임 속도를 제어할 수 있도록 setFrameRate/clearFrameRate API를 SurfaceControlCompat.Transaction에 추가합니다. 추가했습니다. (I6045c)
  • setDataSpace의 필수 API 수준을 Android T에서 Android Q로 낮췄습니다. 추가했습니다. (I59c34)
  • 버퍼가 더 이상 표시되지 않을 때 소비자가 상태를 삭제할 수 있도록 GLFrameBufferRenderer API에 onBufferReleased 콜백을 추가했습니다. (I8a4e2)
  • LowLatencyCanvasView를 만들어 뷰 계층 구조 렌더링과 동기화되고 지연 시간이 짧은 콘텐츠를 렌더링하는 간단한 사용 사례를 지원합니다. 이렇게 하면 각각 동기화된 렌더링과 짧은 지연 시간 렌더링을 위해 화면에서 전환되는 SurfaceView 인스턴스를 내부적으로 관리하여 SurfaceView 관리와 관련된 복잡성이 완화됩니다. 추가했습니다. (I9253b)
  • CanvasFrontBufferedRenderer API에 색상 공간 구성 지원이 추가되었습니다. 백 버퍼링된 SurfaceControl도 포함하도록 다중 버퍼링된 콜백을 업데이트했습니다. (I24bd9)

버전 1.0.0-alpha05

2023년 9월 6일

androidx.graphics:graphics-core:1.0.0-alpha05이 출시되었습니다. 버전 1.0.0-alpha05에 포함된 커밋을 확인하세요.

새로운 기능

  • GLFrameBufferRenderer API를 도입했습니다. 이는 OpenGL 종속 항목, 스왑 체인 구성, 픽셀 형식, SurfaceControl 구성의 조합을 제공합니다. 추가했습니다. (Ic775b)

API 변경사항

  • SurfaceHolder#Callbacks의 파이프 크기를 포함하도록 다양한 콜백 API에 너비 + 높이 매개변수를 추가했습니다. 추가했습니다. (I7f9fc)
  • 전면 및 다중 버퍼링된 레이어를 모두 지우는 Clear API를 추가했습니다. 추가했습니다. (Ic1f95)
  • GLFrontBufferedRenderer 내에서 사용되는 swapchain의 기본 버퍼 유형을 구성하기 위한 지원이 추가되었습니다. 추가했습니다. (I07a13)
  • GLFrameBufferRenderer의 getter에 관한 kotlin 속성, 최대 버퍼 항목의 경우 IntRange 주석, setFormat/setUsageHardwareBufferFormartHardwareBufferUsage 주석을 추가했습니다. 추가했습니다. (Ief89e)
  • Release 펜스를 제공하도록 SurfaceControl 트랜잭션의 setBuffer API를 업데이트했습니다. 추가합니다. (Ice1bb)
  • 데이터 공간을 구성하고 확장된 밝기 범위를 설정하는 SurfaceControlCompat.Transaction API를 추가했습니다. 추가했습니다. (Ic378d)

버전 1.0.0-alpha04

2023년 6월 7일

androidx.graphics:graphics-core:1.0.0-alpha04이 출시되었습니다. 버전 1.0.0-alpha04에 포함된 커밋을 확인하세요.

새로운 기능

  • 기존 OpenGL 구현과 함께 android.graphics.Canvas API를 활용하여 지연 시간이 짧은 그래픽을 지원하기 위해 CanvasFrontBufferedRenderer를 도입했습니다.

API 변경사항

  • null을 허용하는 HardwareBuffer 인스턴스가 상응하는 플랫폼 API를 미러링할 수 있도록 SurfaceControlCompat.Transaction#setBuffer API를 업데이트했습니다. (I173d7)
  • 대신 지원 swapchain에 3개 이상의 버퍼가 포함될 수 있으므로 이중 버퍼링 렌더링을 참조하는 메서드 이름을 다중 버퍼링으로 변경합니다. 추가했습니다. (I830d7)
  • 3ps가 캔버스 API를 사용하여 전면 버퍼링된 렌더링 시스템을 활용할 수 있도록 CanvasFrontBufferedRenderer API를 만듭니다. 추가했습니다. (Ibfc29)

버그 수정

  • GLFrontBufferedRenderer가 상응하는 활동을 재개한 후 콘텐츠를 렌더링하지 않는 문제를 수정했습니다.
  • 전면 버퍼링된 콘텐츠가 조기에 삭제되는 문제가 해결되었습니다.
  • 지연 시간이 짧은 그래픽 API가 출시된 후 SurfaceHolder.Callbacks가 삭제되지 않는 문제를 수정했습니다.

버전 1.0.0-alpha03

2023년 3월 22일

androidx.graphics:graphics-core:1.0.0-alpha03이 출시되었습니다. 버전 1.0.0-alpha03에 포함된 커밋을 확인하세요.

API 변경사항

  • 중간 스크래치 버퍼로 렌더링한 후 원래 대상을 재타겟팅하는 데 사용할 수 있는 프레임 버퍼 식별자와 함께 버퍼 너비/높이가 포함된 BufferInfo 객체를 제공하도록 GLFrontBufferedRenderer 콜백 구현을 업데이트했습니다. 추가했습니다. (I7fe20)
  • SyncFence 생성이 SyncFenceCompat의 정적 팩토리 메서드로 통합되었습니다.
  • eglDupNativeFenceFDANDROID의 공개 호환성 메서드를 삭제하고 SyncFence 생성을 위한 SyncFenceCompat 팩토리 메서드로 대체했습니다. 이는 API 수준과 관계없이 모든 API 노출 영역이 올바른 SyncFence 구현을 수신하도록 하기 위함입니다. 추가했습니다. (I849bb)
  • FrameBufferRendererSyncStrategy에 관한 문서를 추가했습니다.
    • FrameBufferRenderer + FrameBuffer + FrameBufferPoolandroidx.graphics.opengl 패키지로 이동함
    • SyncStrategyandroidx.graphics.opengl 패키지로 이동함
    • 문서 RenderCallback#onDraw개를 업데이트했습니다.
    • API의 구현자가 FrameBuffer.close 호출을 담당하는 RenderCallback#obtainFrameBuffer 문서를 업데이트했습니다.
    • 표시할 콘텐츠를 소비자가 전달해야 함을 나타내도록 onDrawComplete를 업데이트했습니다.
    • 프레임워크를 미러링하기 위해 SyncFence 호환성 인터페이스/클래스를 androidx.hardware 패키지로 이동했습니다.
    • SyncFence API의 이름이 SyncFenceV19로 변경되고 가능한 경우 프레임워크의 SyncFence API를 활용하는 SyncFenceCompat로 사용을 통합하기 위해 비공개로 설정되었습니다. 추가했습니다. (I5149c)
  • GLFrontBufferedRenderer#cancelGLFrontBufferedRenderer#execute 메서드를 추가했습니다. 전자는 전면 버퍼에 대한 렌더링을 취소하고 전면 버퍼를 숨겨야 하는 손바닥 움직임 무시 시나리오에서 유용합니다. 후자는 렌더링을 예약하지 않고도 GL 스레드의 객체를 조작하는 시나리오에서 유용합니다. 추가했습니다. (If0b7f)
  • 이중 버퍼링된 레이어에 직접 렌더링하는 API를 추가합니다. 이는 재개 후 장면을 다시 렌더링하는 데 도움이 될 뿐만 아니라 소비자가 렌더링할 원하는 장면에 따라 동적으로 전면 버퍼링된 렌더링을 활용할 시기를 선택적으로 결정할 수 있는 기회를 제공합니다. 추가했습니다. (Ied56c)
  • SurfaceView의 기존 메커니즘 외에 다른 SurfaceControl 인스턴스에서 상위 SurfaceControl 구성을 지원하는 새 API를 SurfaceControlCompat.Builder에 추가했습니다. 추가했습니다. (I1d1b6)
  • 지원 중단된 숨겨진 함수의 반환 유형 null 허용 여부를 더 추가했습니다. (Ibf7b0)
  • Android 기기에서 EGLImage 인스턴스로 사용할 수 있는 EGLClientBuffer 객체로 HardwareBuffer 인스턴스를 가져오는 것을 지원하는지 쿼리하는 EGL_ANDROID_get_native_client_buffer 확장 상수를 추가했습니다. 추가했습니다. (Iad767)
  • @JvmDefaultWithCompatibility 주석을 추가합니다. (I8f206)

버전 1.0.0-alpha02

2022년 11월 9일

androidx.graphics:graphics-core:1.0.0-alpha02가 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.

API 변경사항

  • Android S에서 도입되었던 addTransactionCommitListenerRequiresApi 주석이 누락되는 문제를 수정했습니다. (I0a035)
  • 소비자가 현재 버퍼 너비/높이 외에도 꼭짓점 셰이더에 전달할 수 있는 변환 매트릭스를 제공하도록 onDraw<Front/Double> 버퍼 콜백을 업데이트했습니다. 소비자는 이러한 매개변수를 사용하여 OpenGL 렌더링 코드를 적절하게 사전에 회전해야 합니다. (I82f9e)

버그 수정

  • SurfaceControl 트랜잭션을 실행하기 전에 버퍼를 사전 회전하여 그래픽 지연 시간을 개선했습니다.
  • 오류 로그에 오류 300d(EGL_BAD_SURFACE)가 표시되는 문제를 수정했습니다.
  • 이전에 사용된 상응하는 활동이 재개된 후 GLFrontBufferedRenderer가 무효화되는 문제를 수정했습니다.
  • 에뮬레이터 및 ChromeOS 기기 지원을 늘렸습니다.
  • 버퍼링된 전면 레이어가 조기에 숨겨질 수 있는 문제를 수정했습니다.

버전 1.0.0-alpha01

2022년 10월 24일

androidx.graphics:graphics-core:1.0.0-alpha01이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.

새로운 기능

  • 그래픽 코어 AndroidX 라이브러리의 최초 출시입니다. 여기에는 스타일러스 입력과 같이 지연 시간이 짧은 사용 사례를 지원하는 API가 포함됩니다. OpenGL 사용에 관한 도우미 API도 추가되었습니다.

API 변경사항

  • 짧은 지연 시간과 고품질 렌더링 출력을 모두 달성하도록 전면 및 다중 버퍼 렌더링을 지원하는 GLFrontBufferedRenderer를 도입합니다.
  • SurfaceView, TextureView 등 다양한 Surface 제공업체를 위한 OpenGL 렌더링을 지원하는 GLRenderer API를 도입합니다.