There are plenty of GPS/Mapping apps for both Android and iOS but my favorite, so far, is Oruxmaps. This app seems to offer all the features I could want including:
- Offline mapping from online sources
- Offline mapping in vector format downloadable to the device
- Offline mapping in Geo-Located PDF format which is useful for Motor Vehicle Use Maps as per the National Forest Service and available from staythetrail.org
Vector maps are available from OpenAndroMaps and are easily installed to the device by clicking the button.
A good source of Digital Elevation Model (DEM) files is archive.org
Other options include BackCountry Navigator, All Trails, Avenza and Gaia and others. Neither of these apps offer as much flexibility as Oruxmaps however.