使用多个进程的应用程序是否共享 Dalvik 实例?
我正在研究Android进程管理,我想知道使用多个进程(不是线程)的应用程序是否共享一个Dalvik实例,或者每个进程都存在一个Dalvik实例,即使对于同一个应用程序也是如此。
您能给我指出一些官方来源(文档、演讲、论文等)吗?
谢谢
I'm studying Android process management and I'm wondering whether apps using multiple processes (not threads) share a Dalvik instance or there exists a Dalvik instance per process, even for the same app.
Could you point me to some official source (doc, talk, paper etc.)?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不。Dalvik 不跨进程。
然而,Binder IPC 机制可以做一个非常令人信服的工作,使对象看起来像是迁移到不同的进程及其 Dalvik 实例。此外,内存管理非常适合在所有需要只读页面的进程之间共享只读页面。托管典型应用程序的 Dalvik 进程是从 zygote 分叉出来的,所有常见的 Android 库都已映射,因此不必打开新的唯一副本。
No. Dalvik doesn't span processes.
However, the Binder IPC mechanism can do a very convincing job of making objects appear to migrate to a different process and its Dalvik instance. Also, the memory management is very good about sharing read-only pages across all processes that need them. The Dalvik process hosting a typical app is forked off of zygote with all the common android libraries already mapped, so new unique copies don't have to be opened.