Android developers know how hard it is to make an app that works perfectly on all hardware, and Android P will introduce what could be considered an additional hurdle by implementing a new behavior wherein users no longer have a choice to wait for an unresponsive app to start working again; the OS will simply crash the app by default, and there is no word on an option to turn this behavior off. This means that developers will have to be very careful to optimize their apps to run with minimal possible resource usage, and people with older or weaker hardware may have a hard time running certain heavy apps and experiences that they would previously have been able to simply wait on.
App not responding scenarios are surprisingly common, even with the threshold for a freeze-up to be considered one being as high as it is. Users can lose control of an app for up to a few seconds at a time before the Android OS intervenes. At that point, the logic behind this change seems to assume, it’s safe to say that the user is either frustrated and trying to close the app themselves, or have stumbled upon some kind of content that’s either too poorly optimized to run on their device or is outright malicious. One user on Reddit pointed out that messages in apps like WhatsApp that contain large strings of hidden control characters could trigger this behavior and cause crashes, as one example. Other examples could include poorly optimized web content freezing up a browser, a resource-heavy game loading a lot of content on a slower device, file managers moving very large quantities of small files, or an app with code errors essentially tripping over itself.
All of these are scenarios where a user could continue to use the app if they’re willing to wait long enough, theoretically, but this change will disallow that and instead simply bar the user from making any further use of the app in question. The backlash for this change can already be seen in the developer community, and given Google’s recent habits of listening closely to user and developer feedback when crafting Android updates, it’s quite likely that some change will be made to compensate for this behavior. Google could raise the threshold for ANR interactions, add a toggle for this behavior, or have each crash save and send verbose logs for developers so that they can correct the issues that caused the ANR interactions, to speculate just a few possible solutions.