Threading and task solutions are not the only option when there is a need to execute a not time-bound, long running process. Moreover, both of these options are for executing code when your application is in the foreground or in an active state. When the application is entering the backgrounded or suspended state, the application might still require the execution of some longer method before the volatile data is lost, or it might require a process to be running in the background when the application is not in an interactive state.
For these types of scenarios, both iOS and Android offer backgrounding and background operation options.
There are three types of background tasks that can be executed for different needs: