I would like to know this as well.
Here are some guesses: From what I can tell, OsmAnd has the capability to read tiles (i.e. loaded from the internet, such as satellite imagery) either from a file/folder directory structure, or from a SQLite database. I think that the Online Maps plugin uses the directory structure by default, but I could be wrong. For vector maps (pre-downloaded, entirely offline, OBF format) the code reads and renders from the OBF files "on the fly". The preferred interpreter/renderer is the native library, but the Android app also includes a fallback Java interpreter/renderer in case the native library fails.
I hope this helps, but if someone who really knew what they were talking about to contribute, that would be very helpful.
John T.