Android Pie는 실수로 종료할 경우 RAM을 많이 사용하는 게임이 종료되는 것을 방지하는 기능을 추가합니다.

Android Pie가 오늘 출시됩니다. 숨겨진 멋진 기능 중 하나는 실수로 종료할 경우 RAM을 많이 사용하는 게임이 종료되는 것을 방지하는 기능입니다.

오늘 일찍 구글은 공식적으로 발표 Google Pixel 및 Google Pixel 2용 Android Pie. 그 직후, 필수 출시 Essential Phone용 Android 9 업데이트. 참여한 다른 장치 Android P 베타 프로그램의 경우 곧 업데이트를 받게 되므로 개발자 프리뷰를 건너뛴 사용자는 이제 따라잡아야 할 일이 많습니다. 다음을 포함한 최신 릴리스를 살펴보겠습니다. AOSP에 소스 코드 드롭 최신 CDD(호환성 정의 문서)를 통해 발견한 새로운 정보를 주기적으로 업데이트해 드리겠습니다. CDD에서 발견한 흥미로운 점은 "무거운"(RAM 사용량이 많은) 앱 및 게임 섹션입니다. Android Pie는 사용자가 실수로 종료할 경우 RAM에 이러한 앱을 유지하는 데 우선순위를 둡니다. 그들을.

Android Pie의 "헤비급" 앱 및 게임

새로운 섹션이 추가되었습니다. CDD 이 기능을 간략하게 설명합니다. 내용은 다음과 같습니다.

3.17. 헤비급 앱

FEATURE_CANT_SAVE_STATE 기능을 선언하는 기기 구현은 다음을 충족해야 합니다.

  • [C-1-1] 시스템에서 실행 중인 cantSaveState를 지정하는 앱은 한 번에 하나만 설치해야 합니다(MUST). 사용자가 명시적으로 앱을 종료하지 않고 해당 앱을 종료하는 경우(예: 남은 활동 없이 뒤로 누르는 대신 시스템에서 활성 활동을 종료하는 동안 홈 키를 누름) 시스템의 활성 활동), 기기 구현은 포그라운드와 같이 계속 실행될 것으로 예상되는 다른 작업과 마찬가지로 RAM에서 해당 앱의 우선 순위를 지정해야 합니다. 서비스. 이러한 앱이 백그라운드에 있는 동안 시스템은 CPU 및 네트워크 액세스 제한과 같은 전원 관리 기능을 계속 적용할 수 있습니다.
  • [C-1-2] 사용자가 cantSaveState 속성으로 선언된 두 번째 앱을 실행하면 일반 상태 저장/복원 메커니즘에 참여하지 않을 앱을 선택하기 위한 UI 어포던스를 제공해야 합니다(MUST).
  • [C-1-3] cantSaveState를 지정하는 앱에 CPU 성능 변경, 예약 우선순위 변경 등 정책의 다른 변경사항을 적용하면 안 됩니다(MUST NOT).

기기 구현이 기능을 선언하지 않는 경우 FEATURE_CANT_SAVE_STATE , 그리고 그들은:

  • [C-1-1] 앱에서 설정한 cantSaveState 속성을 무시해야 하며(MUST) 해당 속성을 기반으로 앱 동작을 변경하면 안 됩니다(MUST NOT).

기본적으로 이는 장치가 다음을 지원하는 경우를 의미합니다. FEATURE_CANT_SAVE_STATE 기능을 지정하는 실행 중인 앱을 RAM에 유지하는 데 우선순위를 두어야 합니다. 캔트저장상태 기인하다. 이 RAM 우선 순위는 사용자가 홈 버튼을 눌러 앱이나 게임을 종료하거나 명시적으로 종료하지 않고 앱이나 게임을 종료하는 경우(예: 뒤로 버튼 누르기)에 적용됩니다. 또는 종료 버튼.) 또한 시스템은 해당 앱에 대한 CPU 및 네트워크 액세스를 제한하여 전원을 절약할 수 있지만, RAM을 종료하여 여유 공간을 확보할 수는 없습니다. 필요한. 마지막으로 cantSaveState 속성이 정의된 앱 하나만 실행할 수 있다는 점에 유의하세요. 다른 앱이 실행되는 동안 이 속성이 정의된 다른 앱을 시작하려고 하면 Android Pie는 계속 실행할 게임을 선택하라는 메시지를 표시합니다.

ADB를 통해 다음 두 명령을 실행하여 장치가 FEATURE_CANT_SAVE_STATE를 지원하는지 확인할 수 있습니다.

adb shell
dumpsys package | grep "cant_save_state"

앱이 cantSaveState 속성을 지정하는지 확인하려면 앱을 디컴파일하고 매니페스트를 보거나 dumpsys package package.name.here ADB 쉘의 명령. 이 속성은 API 레벨 28(Android 9 Pie)에만 추가되었으므로 아직 많은 앱이나 게임에서 이 속성을 활용할 가능성은 거의 없습니다.

이 기능은 RAM 용량이 작은 장치 및/또는 RAM을 많이 먹는 앱에 매우 유용합니다. 예를 들어 Android의 Fortnite Mobile 최소 3GB의 RAM이 필요합니다. RAM을 많이 차지하기 때문입니다(게임을 시작하지도 않은 채 Fortnite Mobile은 Google Pixel 2 XL에 1.6GB의 RAM을 예약했습니다.) Fortnite가 SDK를 대상으로 한 경우 레벨 28에서 이 기능을 사용하면 실수로 게임을 종료해도 장치가 부족할 때 게임이 즉시 종료되는 것을 방지할 수 있습니다. 여유 RAM. 안타깝게도 포트나이트는 SDK 레벨 21만 대상으로 합니다. 현재(Android 5.0 Lollipop) 따라서 안타깝게도 Android Oreo, Android Nougat 또는 Android Marshmallow는 물론 Google이 Android Pie에서 제공하는 최신 API를 활용하지 않습니다. 이 기능을 활용하기 위해 다른 게임도 업데이트되기를 바랍니다. 구글은 내년까지 그것들이 필요할 것이다 Google Play 스토어에 계속 업데이트를 제출하려면 업데이트하세요.