Shion のもくログ(旧: Shion の技術メモ)

使った技術のメモや、うまくいかなかった事とかを綴ります

PR

Android 13 の変更点のメモ

Android 13 の機能と変更点のリスト | Android Developers を参考に、気になったところをメモしていこうと思います。

なお一覧は上記サイトを参考にしました。

新機能とAPI

カテゴリ 項目
プライバシーとセキュリティ APK 署名スキームv3.1
デベロッパーの生産性 Bluetooth LE オーディオ
プライバシーとセキュリティ Better error reporting in Keystore and KeyMint
デベロッパーの生産性 MIDI 2.0
コア機能 OpenJDK 11 アップデート
デベロッパーの生産性 Unicode ライブラリの更新
デベロッパーの生産性 アプリごとの言語設定
デベロッパーの生産性 カラーベクターフォント
デベロッパーの生産性 クイック設定配置API
プライバシーとセキュリティ 写真選択ツール
デベロッパーの生産性 テーマ別アプリアイコン
デベロッパーの生産性 テキスト変換API
プライバシーとセキュリティ デベロッパーがダウングレードできる権限
デベロッパーの生産性 日本語テキストの折り返しの改善
デベロッパーの生産性 ハイフネーションの高速化
デベロッパーの生産性 非ラテン文字の行の高さの改善
プライバシーとセキュリティ 付近のWi-Fi デバイスに対する新しい実行時の権限
グラフィック プログラム可能なシェーダー

変更点

任意のtargetSdkVersion が設定されたアプリをAndroid 13 で実行した時の影響……のはず。

カテゴリ targetSdkVersion 項目
プライバシーとセキュリティ 32(OS 13) 以降 Granular media permissions
パフォーマンスとバッテリー すべて JobScheduler によるプリフェッチジョブの処理の改善
コア機能 すべて Legacy copy of speech service implementation removed
プライバシーとセキュリティ 32(OS 13) 以降 インテントフィルタで一致しないインテントをブロックする
UX すべて Media controls derived from PlaybackState
プライバシーとセキュリティ 32(OS 13) 以降 コンテキスト登録されたレシーバのエクスポートの安全性の強化
プライバシーとセキュリティ すべて 通知に関する実行時の権限
プライバシーとセキュリティ 32(OS 13) 以降 バックグラウンドでボディセンサーを使用するには新しい権限が必要
パフォーマンスとバッテリー すべて バッテリーリソース運用
パフォーマンスとバッテリー すべて フォアグラウンドサービス(FGS) タスクマネージャー
プライバシーとセキュリティ 32(OS 13) 以降 付近のWi-Fi デバイスに対する新しい実行時の権限

気になったところのメモ

OpenJDK 11

Java 文法はともかく、API はdesugaring で既に使えるのかなと思ったので、調べてみることに。

多分、まだdesugar 無い気がする。

API desugar
ByteArrayInput#readAllBytes x
ByteArrayInput#readNBytes x
ByteArrayInput#transferTo x
ByteArrayInput#writeBytes x
Charsets x
Collection#toArray(IntFunction) x
FileReader のCharset 機能 x
FileWriter のCharset 機能 x
Input#readAllBytes x
Input#readNBytes x
Input#transferTo x
Input#writeBytes x
InputStream のtransferTo 関連 x
java.lang.invoke.VarHandle x
java.util.Optional 系ifPresentOrElse() x
java.util.Optional 系isEmpty() x
java.util.Optional 系orElseThrow() o
java.util.Optional 系stream() x
NullReader のtransferTo 関連 x
NullWriter のtransferTo 関連 x
OutputStream のtransferTo 関連 x
OutputStream#readAllBytes x
OutputStream#readNBytes x
OutputStream#transferTo x
OutputStream#writeBytes x
PrintStream のCharset 機能 x
PrintWriter のCharset 機能 x
SocketOptions x
String#isBlank x
String#lines x
String#repeat x
String#strip x
String#stripLeading x
String#stripTrailing x

TextView 関連

上記2つがTextView に新規機能が入った変更なのだけど、これってサポートライブラリ版でも使えるのかな? ってことでAppcompat のリリースノート を読んでみたけど、4/29 時点ではそれっぽい話は書いてなかった。 その代わり1.6.x でアプリごとの言語設定 用のメソッドAppCompatDelegate.setApplicationLocales() が増えたっぽい。

PR