It's not free but Gaia GPS works well on my devices. I believe they recently released an android client. Besides the various Topo maps they have an osm layer that's available via internet or for offload cache.
I use it for when going to a rural area I'm not familiar with, since Internet and phone signals is still non-existent or very slow in those areas.