Handler
- is communication medium between threads. In android it is mostly used to communicate with main thread by creating and sending messages through handler
AsyncTask
- is used to perform long running applications in a background thread. With nAsyncTask
you get can do the operation in a background thread and get the result in the main thread of the application.
Thread
- is a light weight process, to achieve concurrency and maximum cpu utilization. In android you can use thread to perform activities which does not touch UI of the app