Many flagship phones ship with more RAM than the average laptop, which helps them handle heavy image processing algorithms, AI tasks, and intensive games on-demand. But most of the time, your phone’s RAM isn’t full or even close to it since the OS tries to avoid that scenario by killing or swapping processes when necessary. While it’s usually best to leave memory management in the hands of the OS, there are some processes that should not be killed because there might be issues when they’re restarted.

A graphic depicting the Android 15 internal codename of Vanilla Ice Cream
Android 15: Availability, timeline, and what's new in Google's latest software release

Now available on Pixel 6 and newer

6

Android System WebView is an OS component that many apps use to render web content. Some apps use WebView to show things like a login screen or a single help page, while others rely on it for their core functionality. RSS readers like Feedly, for example, use WebView to show entire articles without opening the default browser in a new tab.

Android_System_WebView_demo

The Android System WebView component on an Android device (left, middle). An Android app that uses WebView (right)..

Android System WebView is based on the same open source Chromium codebase that Google Chrome is based on, but it’s a separate package that’s updated independently of Chrome. To reduce how much space both packages take up on the device, though, Google created a library called trichrome that contains code and resources shared by both packages. It’s this trichrome library that Google has added to the list of pinned files in Android 15 Developer Preview 1.

While I was digging through the DP1 release, I discovered that Google updated the PinnerService class to include code that enables pinning the trichrome library when the new “pinWebView” flag is enabled. This flag is set to true in Android 15 DP1 and results in the “base APK” of the Trichrome library being pinned to memory. However, the entire file, which is about 161MB in size, isn’t pinned to memory. Rather, the OS only pins about 20MB of it to memory. This isn’t unusual, though, as only a fraction of the Google Camera and Pixel Launcher APKs are pinned to memory.

PinnerService_in_Android_15_DP1
dumpsys_pinner_in_Android_15_DP1

Code snippet from the PinnerService class in Android 15 DP1 (top). Output from a command that shows which files PinnerService has pinned to memory in Android 15 DP1 (bottom).

Google’s goal in pinning part of the trichrome library to memory in Android 15 is likely to speed up how quickly the WebView component can be spun up. Many apps rely on the Android System WebView, so it makes sense for Android to pin it to memory, especially given how much RAM is available on most Android devices these days. This change likely won’t make a significant improvement in WebView startup performance, though it could make a marginal one on devices with less RAM where processes are more frequently paged out of memory.

The Android 15 logo against a blue background
Android 15's timeline plans to get back on track

After Android 14's beta rollercoaster, Google wants to get back on track with Android 15

However, since we’re still only on the first developer preview phase of the Android 15 timeline, there’s no telling whether this change will stick around. It’s possible that Google could revert this change and unpin the trichrome library from memory in a future Android 15 release. It’s also possible that other OEMs will disable this change on their devices when they update to Android 15. One thing we do know, though, is that this isn’t the only WebView-related change Google is cooking up, as there are hints that the company plans to make Android’s WebView APIs more modular by bundling them as part of a new Project Mainline module called WebViewBootstrap.