Why is there a separate virtual machine instance (Dalvik / ART) for each application? (need for it)
This is a design decision, and, in my opinion, is made so that it is simple. Each process runs in its own vm . All resources are allocated for this process, and vm , internally, should not coordinate access to resources, for example. FileDescriptor s, I/O , etc. I have never heard of multiprocess vm (vm, which allows you to run multiple processes in it), but I found an article that you could give you insight into.
source share