Overall, asynchronous/concurrent implementation patterns and background tasks allow the developers to push the heavy-lifting away from the UI thread and create responsive applications in the single-threaded paradigm of modern mobile applications.
The Task-based Asynchronous Pattern provides an efficient and scalable way to implement asynchronous operations with ease. Moreover, progress, cancellation, and concurrent collections help monitor, scale, and manage the execution of these asynchronous blocks while providing a way to cooperate between each other. Implementing these blocks, developers do not need to carry the burden of threads, synchronization, and scaling the threads according to the hardware resources.
After analyzing memory and CPU-related topics so far in this book, in the next chapter we will discuss local storage and how to use it efficiently.