There are 2 kinds of tasks generally, CPU intensive and IO intensive,
CPU intensive tasks are tasks which are require computation power of the system ie RAM such as encrypting/decrypting, mathematical operations ie run on the main thread.
IO intensive tasks are tasks which involve tasks such as database operations, API calls, etc. These are the tasks which can take time to perform. Therefore performing them on the main thread can lead to ANR(Application not responding). Thus it becomes necessary to handle the API responses asynchronously.
So In this roadmap we will be covering all the concepts of asynchronous programming which will help you understand the network calls better.
So lets dig deep!!