AsyncTask helps us to do some heavy stuff on the thread other than UI. It allows us to do background operations and then publish to UI.
It must be subclassed and goes like this(for example):
AsyncTask<Parameters, Progress, Result>
And it has 4 steps: onPreExecute, doInBackground, onProgressUpdate, onPostExecute.