Un AsyncTask es un hilo que se ejecuta independientemente del hilo principal y de forma paralela, de forma que estás ejecutando un código concreto pero sin bloquear el hilo principal, de forma que puedes seguir usando la app sin esperar a que una actividad bloqueante finalice. En tu caso, el código que se debería ejecutar de forma paralela y que es bloqueante es la descarga de la imagen:
http://developer.android.com/referen...AsyncTask.html