首页 > 试题广场 >

Android dvm的进程和Linux的进程,以下说法是错

[单选题]
Android dvm的进程和Linux的进程,以下说法是错误的是
  • 它们都是进程的一种
  • dvm是android的虚拟机
  • linux的进程是程序的具体实现,是执行程序的过程
  • dvm中可以创建多个进程来处理应用间的同步问题

Android 运行时由两部分组成: Android 核心库集和 Dalvik 虚拟机。其中核心库集提供了 Java 语言核心库所能使用的绝大部分功能,而虚拟机则负责运行 Android 应用程序。

每个 Android 应用程序都运行在单独的 Dalvik 虚拟机内(即每个 Android 应用程序对用一条 Dalvik 进程), Dalvik 专门针对同时高效地运行多个虚拟机进行优化,因此 Android 系统以方便的实现对应用程序进行隔离。


发表于 2016-03-22 13:12:37 回复(0)
D

每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例,每一个DVM都是在Linux 中的一个进程.
发表于 2015-05-18 09:55:37 回复(0)
    Android 运行环境主要指的虚拟机技术——Dalvik。Android中的所有Java程序都是运行在Dalvik VM上的。Android上的每个程序都有自己的线程,DVM只执行.dex的Dalvik executable 文件。每个Android应用在底层都对应有一个独立的DVM实例并在其解释下执行。    

    虽然DVM也是用Java编程语言,Dalvik虚拟机和一般JAVA虚拟机(Java VM)并不兼容,他们两个的区别是JVM标准执行的是.class的字节码(bytecode ),而是DVM执行的是其专有的(.dex)执行文件。在编译过程中,Java把类编译成一个或多个.class byte code 文件,然后打包到jar中,JVM会从中jar文件中获得相应的.class文件和JRE字节码。 Android VM虽然也是是用Java语言进行编程, Java程序通过编译后,还需要通过SDK中的dex工具转化成.dex格式,DVM再从其中读取指令和数据。    

    每一个应用程序即一个进程(Linux的一个Process)。二者最大的区别在于Java VM是以基于栈的虚拟机(Stack-based),而Dalvik是基于寄存器的虚拟机(Register-based)。显然,后者最大的好处在于可以根据硬件实现更大的优化,这更适合移动设备的特点。     

    DVM非常适合在移动终端上使用,与PC相比,它不需要很快的CPU和大量的内存空间. Google的测算显示,64MB的内存已经能让系统正常运转了。其中24MB被用于底层系统的初始化和启动。另外20MB被用于启动高层服务。
发表于 2021-07-31 09:35:39 回复(0)
它们都是进程的一种?dvm是进程?dvm不是寄存在进程中的吗?
发表于 2017-01-08 16:27:43 回复(0)
一个应用独占一个虚拟机,一个虚拟机又只是Linux的一个进程
编辑于 2016-08-27 19:37:04 回复(0)
每一个Android应用都运行在它自己的DVM实例中,每一个DVM实例都是一个独立的进程空间。所有的Android应用的进程都对应一个Linux进程,DVM因此可以更多地依赖操作系统的进程调度和管理机制。不同的应用在不同的进程空间里运行,不同的应用都是用不同的Linux用户来运行,以最大程度地保户应用程序的安全性和独立性
参见: http://blog.csdn.net/guojin08/article/details/9382623
发表于 2016-07-24 11:33:34 回复(0)
最后一句话应该是dvm中可以创建多个线程把
发表于 2015-08-21 16:38:26 回复(0)
D
每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例,每一个DVM都是在Linux 中的一个进程
发表于 2015-06-07 14:36:49 回复(2)
评论这块区域滑动好费劲啊,只有我一个人这样吗?
发表于 2016-09-22 14:26:40 回复(0)
Dalvik经过优化,允许 在有限的内存中同时运行多个虚拟机的实例,并且每一个 Dalvik应用作为一个独立的Linux进程执行。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。 每个 Android 应用程序运行在自己的进程上,有自己的 Dalvik 虚拟机实例。 Dalvik这样是为了使一个设备可以有效地运行多个虚拟机。 Dalvik VM 以被优化占用最小内存的Dalvik Executable (.dex)格式执行文件。VM 是基于寄存器的,并通过一个 Java 语言编译器的编译来运行,而这个Java编译器已经被内置的"dx"工具转成.dex 格式
编辑于 2017-02-12 17:02:54 回复(0)
d为什么错?难道不能在一个进程中创建另一个进程
发表于 2018-04-12 10:35:33 回复(1)
感觉是想表达IPC机制吧
发表于 2016-04-01 16:18:25 回复(0)
D  每一个DVM都是在Linux 中的一个进程.
发表于 2015-07-10 22:46:12 回复(0)
D
发表于 2015-05-09 23:05:47 回复(0)
D,一个应用只能有一个虚拟机
发表于 2015-04-15 08:37:05 回复(1)
D
发表于 2015-04-14 13:18:03 回复(0)