Android 성능 클래스

각 Android 버전이 성능 수준을 정의하는 방법

성능을 측정하기위한 새로운 지표

오랫동안 Android는 개발자에게 호환성 라이브러리 인 "지원 라이브러리"를 제공했습니다. Android 버전 9부터이 라이브러리는 더 이상 사용되지 않으며 'AndroidX'라는 새 버전으로 대체되었습니다. 짧게 유지하기 위해이 호환성 레이어는 개발자가이를 지원하지 않을 수있는 구형 Android 기기에서 새 API를 우아하게 처리 할 수있는 비교적 쉬운 방법을 제공합니다.

Android Performance 클래스는 AndroidX와 다릅니다. 이러한 지원 중단에 대한 대체를 직접 제공하는 대신 현재 기기의 하드웨어가 무엇을 할 수 있는지 개발자에게 제공하는 것이 목표입니다. 이는 또한 또 다른 주요 차이점에 대한 힌트를 제공합니다. AndroidX와 같이 빌드 시간 대신 런타임에 Android 성능 클래스를 사용할 수 있습니다.

더 구체적으로 말하면 Android는 미디어, 카메라 및 일반의 세 가지 성능 클래스를 제공합니다. 이 클래스는이 버전에서 소개 된대로 Android 12부터 완전히 사용할 수 있습니다. Android 11의 경우 이러한 클래스의 하위 집합을 사용할 수 있습니다.

// Example taken directly from
// Android's explanation, just
// to give a quick overview.
if (Build.VERSION.MEDIA_PERFORMANCE_CLASS >= Build.VERSION_CODES.S) {
   // Provide the most premium experience for highest performing devices
   ...
}
else if (Build.VERSION.MEDIA_PERFORMANCE_CLASS == Build.VERSION_CODES.R)
   // Provide a high quality experience
   ...
}
else {
   // Remove extras to keep experience functional
   ...
}

장치를 그룹화하는 새로운 방법

성능 클래스를 사용하면 새로운 방식으로 소비자를 그룹화 할 수 있습니다. Android 버전에 의존하거나 훨씬 더 나쁜 것은 특정 기기 공급 업체 ID가 맞춤 규칙 집합과 일치하는지 확인하는 대신 이러한 새로운 성능 클래스를 사용하여 기능별로 소비자를 직접 (그리고 안정적으로) 그룹화 할 수 있습니다.

각 버전에서 정확히 지원하는 것은 "Android 호환성 정의 문서"에서 확인할 수 있습니다. Android 팀에서 개발 한 '호환성 테스트 도구 모음'이라는 새로운 도구는 기기에 대해 제안 된 호환성을 확인합니다. 하지만 걱정하지 마세요. 이러한 문제는 하드웨어 제조업체와 엔지니어에만 해당됩니다. 앱 개발자에게 중요한 것은 애플리케이션 코드에서 새 API를 사용하는 것입니다.

앞으로 호환되는 전략

마지막으로이 새로운 성능 등급이 향후 Android 버전에서 어떻게 사용 될지 주목하는 것이 중요합니다. 예를 들어 Android 12가 설치된 기기는 미디어 성능 등급 버전 12도 지원합니다. 이제 Android 13이 출시 될 때이 기기는 계속 Android 13으로 업그레이드 할 수 있지만 성능 등급 버전 12는 그대로 유지됩니다. 하지만 그럼에도 불구하고이 동작을 강조하고 싶었습니다. 성능 등급 버전은 제조업체가 최신 Android 버전으로 업데이트하는 것을 차단하지 않습니다.