Si, este el problema:
1. Android no te deja hacer operaciones pesadas en el main thread porque bloqueas la aplicación. La solución es correr los procesos pesados en un thread diferente.
2. Incluso si corres tu proceso pesado en otro thread hay ciertas consideraciones que tienes que hacer. Una de ellas es que si haces cambio en el UI tienes que hacerlo en el main thread. Para eso, puedes usar un handler
http://developer.android.com/guide/f...html#threading
Incluso puedes usar un
AsyncTask