はじめに
本記事はGoogle I/O '24のセッションを見てAndroid エンジニアの視点で記憶に残ったことの個人的メモになります。
動画やリソースはすべてGoogle I/Oのサイトからアクセスできるので、詳細はこちらをご覧ください。
Gemini
アプリにGeminiによる機能を追加するセッションです。オンデバイスでの生成AIはモバイルエンジニアとしても気になるところです👀
またAndroid Studio に搭載された Gemini による開発支援のセッションがありました。
スクリーンショットからプロジェクトのコードを加味したUIのコードが丸ごと生成されるデモは衝撃的でした。マルチモーダルAIの威力を感じますね。
Android 15のEdge-to-edgeとPredictive back
targetSdkVersionをVanilla Ice Cream(Android 15)にすると自動的にEdge-to-edgeが適用されるようになりました。Materail 3 Composeのように自動的にInsetsを処理してくれるコンポーネントを使用している場合は問題ないですが、おそらく多くのアプリでは画面崩れ(UIがシステムバーにはみ出して見た目が悪いだけでなく場合によってはボタンの操作などが行えなくなる)が起きるので対応が必要です。
対応前 | 対応後 |
---|---|
![]() |
![]() |
またAndroid 13より開発者オプションを有効にすることでお試しすることができたPredictive backですが、Android 15でようやくユーザーにもお披露目となるようです。アプリ→ホーム、Activity間、アプリ内の3パターンでPredictive backがサポートされます。関連してFragment 1.7.0やNavigation Compose 2.8.0でPredictive backのサポートが追加されているのが確認できます。
Material 3 の Adaptive Layout
Material 3のAdaptive Layoutサポートがbeta01に到達しました。List-detailパターンやSupporting paneを簡単に実現できます。
dependencies {
implementation("androidx.compose.material3.adaptive:adaptive:1.0.0-beta01")
implementation "androidx.compose.material3.adaptive:adaptive-layout:1.0.0-beta01"
implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.0.0-beta01"
}
Material Design全体についての最新のアップデートのセッションもあります。
Jetpack Compose の Strong skipping mode
Composeのパフォーマンスの問題を解決するセッションの中でCompose Compiler 1.5.4から実験的に追加されたStrong skipping modeの紹介がありました。Strong skipping modeを有効にすることでUnstableなクラスの等価性の判定が変わり、またStableとみなせるクラスの設定をプロジェクト全体に適することもできるので不要なリコンポジションを手軽に防ぐ手段として活用していきたいですね。
composeCompiler {
// This settings enables strong-skipping mode for all module in this project.
// As an effect, Compose can skip a composable even if it's unstable by comparing it's instance equality (===).
enableExperimentalStrongSkippingMode = true
stabilityConfigurationFile = project.rootDir.resolve("stability_config.conf")
}
java.time.LocalDate
AndroidにおけるKotlin Multiplatformを公式サポート
2023年以降Jetpackの主要ライブラリのKotlin Multiplatform対応が行われてきましたが、ついに公式サポートが発表されました。直近ではRoom、Lifecycle、ViewModelのMultiplatform対応を進めるということです。Kotlin MultiplatformはGoogle Workspaceの開発で採用されており、今後も採用事例が増えていきそうですね。