繁体   English   中英

Dalvik / JVM如何处理多处理的应用程序

[英]How does Dalvik/JVM handle multi processed apps

我想知道Dalvik实例是按应用程序还是按进程分叉的,也就是说,如果我的应用程序具有多个进程,那么我是否也有多个Dalvik实例? 以及实际上如何进行多重处理?

让我描述一个简单的场景:

我启动了一个应用程序,该应用程序启动了在第一个过程中运行的活动,然后单击一个按钮,该按钮产生了另一个活动,该活动在另一个过程中开始运行。

因此,当我单击一个按钮时,是Dalvik的另一个实例被派生了,而字节代码是否被新实例化的Dalvik解释了? 如果属实,流程切换将如何发生。 假设我回到第一个活动,运行时如何确定现在第一个Dalvik应该解释字节码?

活动不是过程。 单个进程/应用程序可以具有许多Activity实例,每个实例基本上都是Java对象。 因此,单击按钮以启动新活动比启动新流程更类似于创建新实例。

进程切换确实发生时,就像在任何其他基于Unix的操作系统中一样,在操作系统级别进行处理。 进程可以同时运行,并且在OS认为合适的情况下,可以在处理器上获得更多或更少的时间。

进行“ 管理活动生命周期后台作业最佳实践”培训可能会有所帮助,它将为您提供更多的背景知识。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM