Cuando necesitamos realizar alguna operacion que demore más de lo comun, no podemos dejar sin informacion al usuario sobre lo que esta ocurriendo en el sistema. Por eso es necesario un cartel de aviso alertando al usuario sobre lo que esta pasando para que no cierre la aplicacion y tenga la amabilidad de esperar hasta que termine nuestra operacion.

final ProgressDialog pd = ProgressDialog.show(this,"Titulo", "Mensaje", true, false);
new Thread(new Runnable()
{
public void run()
{
//aqui la(s) tareas que queremos realizar
pd.dismiss();
}
}).start();