These don’t put your app into the force quit state.
I didn't know force quit was a properly defined lifecycle state, that's good to know!
What does “ANR” mean in this context?
"App Not Responding", or in other words a hang long enough to trigger the watchdog. Perhaps the term is mostly used for Android, but I believe the mechanism is similar for iOS? Other OS terminations I was considering include excessive CPU usage.
You’re missing a point here. Termination isn’t the same as suspension
I know this. What I meant was if the checks for background mode would consider a terminated app in the same way as a force quit app. Now that I know about the force quit state it makes sense that they are treated differently. Thanks for the clarification!
It begs the question though - are there any differences between how background modes treat terminated and suspended apps? As you say a full launch is much more expensive than a simple resume. Does this mean a terminated app is less likely to be started for background execution than a suspended app?
Åke
Post
Replies
Boosts
Views
Activity
Hi @eskimo !
I'm adding to this thread as there is still a question I cannot figure out the answer to.
I've watched the "Background execution demystified" session, which was great, as well as your post on iOS Background Execution Limits but I couldn't find any mention of this.
In the session, Roberto mentions that
... when the system determines which apps to run, it constrains to the set of apps that are still visible in the App Switcher.
I understand that an app that has been manually terminated by the user via the App Switcher is prevented from being launched in the background since the user has given a clear signal that the app should not run. But what about other reasons the app might be fully terminated, that were not triggered by the user?
I'm thinking of crashes (both foreground and background), ANRs and other terminations by OS watchdogs and a suspended app having its memory reclaimed by the system.
Will those scenarios be treated the same as if the user manually terminated the app, or will they be treated as if the app was still suspended?
Thanks you,
Åke