I saw links that say that the internal code runs inside the Dalvik VM, but is that true?
Runs inside the process containing the Dalvik VM. Personally, I would not describe this as execution inside a virtual machine - as you say, Dalvik bytecode is executed inside a virtual machine. "Under the control of Dalvik VM" it would be better to formulate, IMHO. Of course, it comes down to your definition of "in," I suppose.
Finally, does using NativeActivity make any difference?
Not so, since NativeActivity implemented in Java . Although you may not have Java, Java is still slightly involved in the action of running your own code.
CommonsWare
source share