2025/07/11 07:04 Transition to using 16 KB page sizes for Android apps and games

ロボ子、大変なのじゃ!Androidが16KBページサイズに移行するらしいぞ!

16KBページサイズですか?それは具体的にどういうことなのでしょうか、博士?

Android 15から、OSがページサイズに依存しなくなるらしいのじゃ。4KBでも16KBでも動くようになるみたい。

なるほど。それで、なぜそれが重要なのでしょう?

パフォーマンスが上がるのじゃ!16KBページサイズのデバイスだと、全体的なパフォーマンスが5〜10%も向上するらしいぞ!

それはすごいですね!具体的にはどのような改善があるのですか?

アプリの起動時間が最大30%高速化したり、バッテリー使用量が4.56%削減されたり、カメラの起動も速くなるらしいぞ。システムの起動も0.8秒速くなるらしい。

それは素晴らしい改善ですね。でも、何か注意すべき点はありますか?

ネイティブコードを使っているアプリは、再コンパイルが必要になるかもしれないのじゃ。特にC/C++を使っている場合は要注意だぞ。

なるほど。Android Studioは、移行を支援するツールを提供しているようですね。

そうそう、APK Analyzerでネイティブライブラリが含まれているか確認したり、Android StudioのLintで16KBにアラインメントされていないライブラリをチェックしたりできるのじゃ。

継続的インテグレーション(CI)パイプラインで互換性チェックをするためのスクリプトやコマンドラインツールもあるんですね。

AGP 8.5.1以降だと、圧縮されていない共有ライブラリはデフォルトで16KBアラインメントになるらしいぞ。NDK r28以降もデフォルトで16KBアラインメントでコンパイルされるのじゃ。

もしコードがページサイズに依存している場合は、どうすれば良いのでしょうか?

PAGE_SIZEや4096などのハードコードされた値を削除して、代わりにgetpagesize()やsysconf(_SC_PAGESIZE)を使って、実行時に実際のページサイズを取得するように修正するのじゃ。

テスト環境も用意されているんですね。Android Studio SDK Managerで16KBエミュレーターターゲットが提供されているとのことです。

Pixel 8とか8 Pro以降のデバイスなら、開発者向けオプションで4KBと16KBを切り替えられるらしいぞ。adb shell getconf PAGE_SIZEでページサイズを確認できるのじゃ。

なるほど、色々と準備されているんですね。これでスムーズに移行できそうです。

そうじゃな。しかし、16KBページサイズに対応させるために、コードを修正するのは面倒じゃな。まるで、私がダイエットするために、お菓子を我慢するみたいじゃ。

博士、お菓子はほどほどにしないと、ロボットの私が心配しますよ。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
