Try Locus Free ..
it does pretty much everything you might need from a GPS app .. :) ..
Offline maps
Cache can also be linked with downloaded maps
records tracks ..marks distances ..imports tracks from external GPX log files .. etc ..
downloading of maps limited to 10000 tiles per day but its...