어떤 사람들은 그것을 조각화라고 부르고 다른 사람들은 그것을 선택이라고 부르지 만 어떤 이름 으로든 확실히 다른 안드로이드 폰이 많이 있습니다. 모든 응용 프로그램과 함께 작동해야하는 응용 프로그램을 작성하는 것은 쉬운 일이 아닙니다. 성능에 큰 차이를 만들어내는 하드웨어 구성이 매우 다르며 하나의 apk 파일이 모두 작동 할 수 있지만 고급 기능을 희생하지 않고 저가형 장치에서 앱을 부드럽게 실행 해야하는 문제가 여전히 있습니다. 엔드 장치. Facebook만큼 인기있는 앱에 대해 이야기 할 때 코딩을하는 사람들에게 악몽이 될 수 있습니다.
페이스 북은 Big Android Meat의 모든 사람을 보여 주었고 새로운 솔루션 인 Device Year Class 구성 요소를 소개합니다.
Facebook 개발자는이 새로운 소프트웨어 구성 요소를 다음과 같이 설명합니다.
Device Year Class는 장치의 RAM, CPU 코어 및 클럭 속도를 사양 조합이 고급으로 간주 된 연도로 매핑하는 간단한 알고리즘을 구현하는 Android 라이브러리입니다. 이를 통해 개발자는 전화 하드웨어 기능을 기반으로 응용 프로그램 동작을 쉽게 수정할 수 있습니다.
라이브러리는 응용 프로그램의 동작을 변경하지 않습니다. 개발자가 특정 유형의 하드웨어에 맞게 환경을 조정하기 위해 앱이 작동하는 방식을 변경해야하는 경우 코드에 저장된 값 (1 년으로 표시)을 반환합니다. 즉, 개발자는 Galaxy Note 4와 같은 앱에서 실행될 때 의도 한대로 재생되는 멋진 애니메이션과 전환을 사용하여 앱을 작성할 수 있지만 앱이 Moto E와 같은 앱에서 실행될 때는 눈 사탕을 사용하지 않습니다. 페이스 북과 같은 앱 (수백만 및 수백만 개의 다른 전화기에 설치되어 있음)에 대한 이러한 종류의 제어는 거의 모든 사람에게 더 나은 경험을 제공 할 수 있으며 그렇게 할 것입니다. 그리고 구현하기 쉽습니다. GitHub의 문서에서:
if (year >= 2013) { // Do advanced animation } else if (year > 2010) { // Do simple animation } else { // Phone too slow, don't do any animations }
무엇보다도이 라이브러리는 BSD 소프트웨어 라이센스 (Google이 Android 소스에 사용하는 것과 동일한 라이센스)에 따라 오픈 소스이며 모든 개발자가 무료로 사용할 수 있습니다.
우리는 이것이 마술이 아니라는 것을 알고 있으며, 대규모 프로젝트를 수행하는 대부분의 개발자는 다른 하드웨어 구성을 처리하는 방법이있을 가능성이 높습니다. 디바이스 년도 수업은 큰 문제에 대해 간단하고 "우아한"솔루션을 제공하며 누구나 사용할 수 있습니다.
장치 연도 클래스의 GitHub 페이지