概念: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会为应用程序代码分配内存空间,并且应用程序的执行、数据存储、堆栈调用等都是在这片内存空间中进行。这段内存空间是独立的,使得每个应用程序被隔离,以确保安全和稳定性。

相关推荐
kumalab2 小时前
Android及Harmonyos实现图片进度显示效果
android·华为·harmonyos
ynxw2 小时前
Unity AR 实现模型交互
android·unity·ar·交互
alexhilton3 小时前
MVI架构:Compose中的响应式状态管理
android·kotlin·android jetpack
宿辞1923 小时前
LINUX中MYSQL的使用
android·linux·mysql
code bean4 小时前
【C#】 C#中 nameof 和 ToString () 的用法与区别详解
android·java·c#
佛系小嘟嘟5 小时前
Android Studio Jetpack Compose毛玻璃特效按钮
android·ide·android studio
用户2018792831677 小时前
MagiskHidePropsConf 原理与实战故事
android
whysqwhw7 小时前
Egloo 项目结构分析
android
Wgllss7 小时前
大型异步下载器(二):基于kotlin+Compose+协程+Flow+Channel+ OKhttp 实现多文件异步同时分片断点续传下载
android·架构·android jetpack
yzpyzp8 小时前
KAPT 的版本如何升级,是跟随kotlin的版本吗
android·kotlin·gradle