I was reading and see that it is faster to check collision using a array. Reading pixels what I had been doing is slower. What you should do is copy the gamegraphic that is the level in a array. Though destroying the map would require you to also update the array. The shape of the alteration on the map would have to be done to the array as well.
Edit : I read now that the graphical data already is placed in a array that you can acces. You have to use the Raster. I read something about this before but did not really look into this.