I use the free version of SmartTraining. It uploads tracks to Google Maps for later viewing, and tracks distance. You can view the map on the phone, along with an altitude graph. My cheapo speed/odometer gives me all the other stats I need.
I just start it when I'm ready to go, stick it in my back pocket, and stop it when I'm done. The longest ride I have used it for is about 2 hours and it might have used 30% battery on my HTC Hero. It has options such as GPS sampling interval that let you manage power consumption.