💡 現状ベータ版

android 17 changes

Googleは2月13日にAndroid 17の最初のベータ版をリリースしました。大画面への対応強制、ランタイムの改善、セキュリティのデフォルト強化が主な内容です。

要点をまとめました。

🖥️ 大画面対応が必須に Link to heading

API 37をターゲットとし、600dp以上のデバイスで動作するアプリは、リサイズや画面回転をオプトアウトできなくなりました。 screenOrientationresizeableActivityminAspectRatiomaxAspectRatio は大画面上ではすべて無視されます。ゲームアプリと600dp未満のデバイスは対象外です。

また、キーボード・ナビゲーション・タッチスクリーンの設定変更によるActivityの再起動がデフォルトで行われなくなりました。従来の動作が必要な場合は、新しい android:recreateOnConfigChanges 属性でオプトインする必要があります。

⚡ パフォーマンス改善 Link to heading

  • ロックフリーな MessageQueue によりメインスレッドのフレーム落ちを低減。
  • ARTの世代別GC により、低コストな若い世代のコレクションを優先実行。
  • ProfilingManager の新トリガーCOLD_STARTOOMKILL_EXCESSIVE_CPU_USAGE
  • カスタム通知ビューに厳しいサイズ制限が設けられ、メモリ使用量を削減。

🎥 メディア・カメラ Link to heading

  • 動的カメラセッションupdateOutputConfigurations() でセッションを閉じずに用途(写真 ↔ 動画)を切り替え可能。
  • 一定品質ビデオ録画MediaRecorder.setVideoEncodingQuality() でCQモードに対応。
  • バックグラウンド音声の制限強化 — 有効なライフサイクル状態にないアプリでの音声再生・フォーカス・音量変更はサイレントに失敗。
  • VVC(H.266) コーデックをプラットフォーム全体でサポート。

🔒 セキュリティ Link to heading

  • android:usesCleartextTraffic非推奨に。SDK 37以降ではクリアテキスト通信がデフォルトでブロックされます。ネットワーク セキュリティ構成への移行を推奨。
  • HPKEハイブリッド暗号化のパブリックSPIを導入。

📡 接続性 Link to heading

Companion Device Managerに医療機器フィットネストラッカーの新プロファイルが追加。 setExtraPermissions()による統合パーミッションダイアログで、ペアリング時のプロンプト数を削減。