Android 12’s lovely wallpaper-based themes will crash your games if you use automated wallpapers
Android 12 has a ton of visual changes, the biggest of which is Material You. Material You’s dynamic colors feature makes use of monet, a new theme engine introduced in Android 12 — and currently exclusive to Pixel phones — to extract colors from your wallpaper and generate a rich palette of pastel colors. Apps can then apply these colors to their UIs in various ways, which is what apps that incorporate Material You typically do. However, it turns out that the introduction of Material You may have had an unintended side effect when it comes to games.
On the Google Issue Tracker, a bug report has been opened stating that when playing Wild Rift or Pokémon Go, a changing wallpaper in the background will cause the game to crash. While users don’t typically close their game just to change their wallpaper, those who use automated wallpaper changers will definitely be affected. From my own testing, most apps seem to handle the change fine, but games struggle. I tested Genshin Impact, Call of Duty: Mobile, PUBG Mobile, and Minecraft on my Google Pixel 6 Pro, and all of those games crashed when the wallpaper changed in the background.
The root cause of the problem seems to be an Android configuration change that cannot be blocked. Typically, games will ignore “configuration changes” on Android, and those “configuration changes” include things like dark mode, screen rotation, and locale changes. Google, in a commit spotted by @cketti (via CommonsWare), introduced a change in Android 12 that forces activities to be recreated when the wallpaper is changed. The commit says the following:
“Activities will be scheduled for restart via the regular life-cycle. This is similar to a configuration change but since ApplicationInfo changes are too low-level we don’t permit apps to opt out.”
Sadly, there doesn’t seem to be much of a way around it. Even worse, it appears that this may inherently be impossible to get around for developers. Google isn’t providing an option to opt-out to developers because it’s likely impossible to opt-out, and this potentially unavoidable behavior is likely a byproduct of how Android 12’s RROs actually work. As a result, it means that gamers can’t change their wallpapers when gaming as otherwise, their favorite games will likely crash. We’ll be keeping a close eye on this one to see if anything new surfaces, but for now, you might want to disable any automatic wallpaper switchers if you game on your smartphone.
Thanks Alvin for the tip!