I just started on application development and wanted to learn properly everything about how Android works.
I came across four bullet points (https://developer.android.com/guide/components/fundamentals) that explain that Android sets each app as a different Linux user and that each process has its own virtual machine (VM). Here's the part confusing me, one of the bullet points (third one) doesn’t specify which process are encompassed in a virtual machine.
• Each process has its own virtual machine (VM), so an app's code runs in isolation from other apps.
This is the first time on the page it mentions a process which is why I am confused.
My question is which processes are running in a virtual machine? - Is it the main Linux process only? - is it ALL of the processes within the Linux process?
If so, how can processes communicate between each other if each one of them are running in isolation (in VM)?
Thank you for your time.