기능 및 API

Android 17에는 개발자를 위한 훌륭한 새로운 기능과 API가 도입되었습니다. 다음 섹션에서는 관련 API를 시작하는 데 도움이 되도록 이러한 기능을 요약합니다.

새로운 API, 수정된 API, 삭제된 API에 관한 자세한 목록은 API 차이점 보고서를 참고하세요. 새로운 API에 관한 자세한 내용은 Android API 참조를 방문하세요. 새로운 API가 강조 표시되어 쉽게 확인 가능합니다.

플랫폼 변경사항이 앱에 영향을 미칠 수 있는 영역도 검토해야 합니다. 자세한 내용은 다음 페이지를 참고하세요.

핵심 기능

Android 17에서는 핵심 Android 기능과 관련된 다음과 같은 새로운 기능을 추가합니다.

새 ProfilingManager 트리거

Android 17에서는 성능 문제를 디버그하기 위한 심층 데이터를 수집할 수 있도록 ProfilingManager에 여러 새로운 시스템 트리거를 추가합니다.

새 트리거는 다음과 같습니다.

  • TRIGGER_TYPE_COLD_START: 앱 콜드 스타트 중에 트리거가 발생합니다. 응답에 호출 스택 샘플과 시스템 트레이스를 모두 제공합니다.
  • TRIGGER_TYPE_OOM: 앱이 OutOfMemoryError을 발생시키고 이에 대한 응답으로 Java 힙 덤프를 제공할 때 트리거가 발생합니다.
  • TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE: 비정상적이고 과도한 CPU 사용으로 인해 앱이 종료될 때 트리거가 발생하고 이에 대한 응답으로 호출 스택 샘플을 제공합니다.

시스템 트리거를 설정하는 방법을 알아보려면 트리거 기반 프로파일링프로파일링 데이터 검색 및 분석 방법에 관한 문서를 참고하세요.

보안

Android 17에서는 기기 및 앱 보안을 개선하기 위해 다음과 같은 새로운 기능을 추가합니다.

Android 고급 보호 모드 (AAPM)

Android 고급 보호 모드는 Android 사용자에게 강력한 새로운 보안 기능을 제공하여 정교한 공격으로부터 사용자를 보호하는 데 중요한 역할을 합니다. 특히 위험도가 높은 사용자를 보호하는 데 효과적입니다. 선택 기능으로 설계된 AAPM은 사용자가 언제든지 사용 설정하여 의견이 반영된 보안 보호 세트를 적용할 수 있는 단일 구성 설정으로 활성화됩니다.

이러한 핵심 구성에는 알 수 없는 소스에서 앱 설치 차단(사이드로드)과 USB 데이터 신호 제한, Google Play 프로텍트 검사 의무화가 포함되어 기기의 공격 표면적을 크게 줄입니다. 개발자는 AdvancedProtectionManager API를 사용하여 이 기능과 통합하여 모드의 상태를 감지할 수 있으므로 사용자가 선택한 경우 애플리케이션이 강화된 보안 자세를 자동으로 채택하거나 위험도가 높은 기능을 제한할 수 있습니다.

연결

Android 17에서는 기기 및 앱 연결을 개선하기 위해 다음 기능을 추가합니다.

제약이 있는 위성 네트워크

앱이 낮은 대역폭 위성 네트워크에서 효과적으로 작동할 수 있도록 최적화를 구현합니다.

사용자 환경 및 시스템 UI

Android 17에는 사용자 환경을 개선하기 위한 다음 변경사항이 포함되어 있습니다.

핸드오프

핸드오프는 앱 개발자가 통합하여 사용자에게 교차 기기 연속성을 제공할 수 있는 Android 17의 새로운 기능이자 API입니다. 이를 통해 사용자는 한 Android 기기에서 앱 활동을 시작하고 다른 Android 기기로 전환할 수 있습니다. 핸드오프는 사용자의 기기 백그라운드에서 실행되며 수신 기기의 런처 및 작업 표시줄과 같은 다양한 진입점을 통해 사용자의 다른 근처 기기에서 사용 가능한 활동을 표시합니다.

앱은 수신 기기에 설치되어 있고 사용할 수 있는 경우 Handoff를 지정하여 동일한 네이티브 Android 앱을 실행할 수 있습니다. 이 앱 간 흐름에서 사용자는 지정된 활동으로 딥 링크됩니다. 또는 앱-웹 핸드오프를 대체 옵션으로 제공하거나 URL 핸드오프를 사용하여 직접 구현할 수 있습니다.

핸드오프 지원은 활동별로 구현됩니다. 핸드오프를 사용 설정하려면 활동의 setHandoffEnabled() 메서드를 호출합니다. 수신 기기에서 다시 생성된 활동이 적절한 상태를 복원할 수 있도록 핸드오프와 함께 추가 데이터를 전달해야 할 수 있습니다. onHandoffActivityRequested() 콜백을 구현하여 핸드오프가 수신 기기에서 활동을 처리하고 다시 만드는 방법을 지정하는 세부정보가 포함된 HandoffActivityData 객체를 반환합니다.