概念:Android 虚拟机

Android中的Dalvik虚拟机(DVM)和Android运行时(ART)都是运行在内存中的。它们是Android操作系统的一部分,为Android应用提供了一个管理执行代码的环境。具体来说:

Dalvik虚拟机 (DVM):Dalvik是一种注册式虚拟机,曾经是Android设备上运行应用程序字节码的主要环境。对每个Android应用程序启动一个新的DVM实例,每个DVM实例都有自己的内存空间,DVM负责执行.dex格式的字节码文件,这些文件是Java类文件转换而来的。DVM通过即时编译(JIT,Just-In-Time)将字节码转换成对应设备的机器码。

Android运行时 (ART):在Android 4.4版本引入,从Android 5.0(Lollipop)起取代了DVM成为官方的运行时环境。ART同样为每个应用程序提供独立的执行空间,但它使用预先编译(AOT,Ahead-Of-Time)的方式将应用的字节码转化为机器码,并在安装应用时进行这个过程,以提高运行效率。ART还提供更好的垃圾收集机制和开发者调试支持。

这些虚拟机都运行在设备主内存(RAM)中,负责管理应用的执行,包括内存分配、垃圾收集、线程同步等任务。它们作为连接应用程序和底层硬件及操作系统之间的桥梁,使得开发者能够编写出可以在各种硬件配置上运行的应用程序。在运行时,ART或DVM会为应用程序代码分配内存空间,并且应用程序的执行、数据存储、堆栈调用等都是在这片内存空间中进行。这段内存空间是独立的,使得每个应用程序被隔离,以确保安全和稳定性。

相关推荐
黄林晴3 小时前
Room 3.0 正式发布!包名彻底重构,KMP 成为核心主线
android·android jetpack
三少爷的鞋4 小时前
Kotlin 协程环境下的 DCL 懒加载:别把线程时代的经验直接搬过来
android
plainGeekDev4 小时前
Gson → kotlinx.serialization
android·java·kotlin
CYY9518 小时前
Compose 入门篇
android·kotlin
杉氧21 小时前
Compose 时代的 MVI 架构:如何用单向数据流驱动复杂 UI?
android·架构·android jetpack
杉氧1 天前
Modifier 的艺术:为什么链式调用的顺序决定了UI 的生命周期?
android·架构·android jetpack
李斯维1 天前
腾讯 XLog 日志框架 Android 端接入
android·android studio·android jetpack
黄林晴1 天前
Kotlin Toolchain 0.11 发布:Amper 正式更名,统一 kotlin 命令
android·kotlin
雨白1 天前
C语言基础快速入门与指针初探
android