Android 15 to Support 16KB Memory Pages, Boosting Performance by 5%~10% After Upgrading from 4KB
The Android Developers Blog recently recommended SDK or tool developers to promptly incorporate 16KB page memory support. Starting with Android 15, the Android system will support both 4KB and 16KB pages, with tests demonstrating that the latter offers superior performance.
A page is a unit of memory management by the operating system. Most processors support a page size of 4KB, which has traditionally guided the construction and optimization of the Android system and applications.
With Arm chips now supporting larger 16KB pages, Google's testing has shown that switching from 4KB to 16KB can enhance the overall performance of the Android system by 5%~10%, albeit at the cost of a 9% increase in memory usage.
To elevate overall system performance while offering manufacturers a choice in their trade-offs, Android 15 will support both 4KB and 16KB pages. The first version of the Android system supporting 16KB pages will be available as a developer option on select devices.
Developers with apps that contain native code or dependencies will need to recompile their applications to be compatible with devices supporting 16KB page sizes. Currently, most native code in Android apps and SDKs is built for 4KB page sizes, necessitating adjustments to 16KB for binary files to be compatible with devices supporting both 4KB and 16KB pages.
SDK and tool developers, along with other app developers, are encouraged to begin testing and making necessary adjustments in advance. This preparation will ensure their SDKs, tools, and apps can support devices with both 4KB and 16KB pages once they are available.
How to Proceed with Testing?
Google has introduced a toggle between 16KB and 4KB pages in the developer options of Android 15. Starting with the Android 15 QPR1 Beta, the Pixel 8 and Pixel 8 Pro will have access to this feature.
Google is also collaborating with chip manufacturers and OEMs to make this option available on more devices soon, enabling developers to test on a broader range of devices.