Reduce OS memory reclaim for WebView-heavy apps + fix New Architecture default on SDK upgrades
Hammad Ali Hashmi
We run a production Expo app (SDK 54) that wraps a heavy web app in react-native-webview. Our main ask is framework support for background memory, plus two things from the SDK 54 upgrade that caused a production regression:
- Background memory reclaim (the main ask). For WebView-heavy apps, the OS reclaims the backgrounded app/WebView under memory pressure, forcing a full cold relaunch on return. This is OS behavior, but it's a supported Expo use case. We'd like framework-level support: reducing background memory footprint, and/or a supported way to retain and restore WebView state across an OS-initiated process kill.
- Bundled react-native-webview version. SDK 54 shipped 13.15.0, which carried a WebView recovery crash (fixed upstream in 13.16.1/13.16.2). Bundling a webview version with a known crash caused a regression for us.
- New Architecture default. Our config set newArchEnabled: false scoped to Android in expo-build-properties, but after the SDK 54 upgrade the iOS build was on the New Architecture anyway. An SDK upgrade silently switching a build's architecture, without an obvious cross-platform signal, is easy to miss and hard to diagnose. Please make newArchEnabled behavior explicit and consistent across platforms.
Environment: Expo SDK 54, react-native-webview (moving to 13.16.x), iOS + Android, production.