This paper discusses the potential benifits of switching Android’s single VM per application runtime environment to a multi-tasking VM environment. A multi-tasking VM is a type of a Java virtual machine with the ability to execute multiple Java applications in one memory space. It does so by isolating the applications to prevent interferences. We argue that using a multi-tasking VM for mobile systems provides better control over application lifecycle management, more flexible memory management, and faster interapplication communication. To support this argument, we discuss a preliminary design, implementation, and evaluation for an alternative to Android’s communication mechanism, Binder, and demonstrate the benefits afforded by a multi-tasking VM. Keywords Mobile systems; Multi-tasking virtual machine; Runtime
Yin Yan, Chunyu Chen, Karthik Dantu, Steven Y. Ko,