概念: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 小时前
AIDL Hal 开发笔记2----AIDL HAL 实例分析light hal
android·framework·hal
—Qeyser3 小时前
Flutter 颜色完全指南
android·flutter·ios
2501_916008895 小时前
iOS 上架需要哪些准备,账号、Bundle ID、证书、描述文件、安装测试及上传
android·ios·小程序·https·uni-app·iphone·webview
摘星编程7 小时前
React Native for OpenHarmony 实战:DatePickerAndroid 日期选择器详解
android·react native·react.js
花卷HJ9 小时前
Android 沉浸式全屏实践:主题 + 状态栏文字颜色完整方案
android
花卷HJ10 小时前
Android 项目中 BaseActivity 封装实践(支持 ViewBinding、PermissionUtils动态权限、加载弹窗和跳转动画)
android
消失的旧时光-194312 小时前
Android 接入 Flutter(Add-to-App)最小闭环:10 分钟跑起第一个混合页面
android·flutter
城东米粉儿12 小时前
android StrictMode 笔记
android
Zender Han12 小时前
Flutter Android 启动页 & App 图标替换(不使用任何插件的完整实践)
android·flutter·ios
童无极12 小时前
Android 弹幕君APP开发实战01
android