To keep the user experience (UX) running smoothly, the Android framework provides a helper class called AsyncTask, which processes work off of the UI thread. Using AsyncTask to move intensive processing onto a separate thread means that the UI thread can stay responsive.
- AsyncTask is an abstract class, which means you must subclass it in order to use it
- Params: The data type of the parameters sent to the task upon executing the doInBackground() override method.
- Progress: The data type of the progress units published using the onProgressUpdated() override method.