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

相关推荐
程序员-珍2 小时前
报错下载android sdk失败
android·java
齊家治國平天下3 小时前
AAOS 电源管理深度解析:休眠/唤醒/功耗优化
android·车载系统·aaos·aosp·电源管理·休眠唤醒·carpowermanager
Xzaveir4 小时前
企业号码展示不可观测怎么办:状态机、拨测事件与异常回放
android·人工智能
2501_916007474 小时前
iOS和macOS应用程序性能分析和优化工具使用综合指南
android·macos·ios·小程序·uni-app·iphone·webview
黄林晴4 小时前
Nearby Connections 重大变更:不再自动开启 Wi-Fi / 蓝牙,适配指南
android
恋猫de小郭5 小时前
Flutter 全新真 3D 实现,用 flutter_scene 能开发一个「我的世界」
android·前端·flutter
HLC++18 小时前
Linux的进程间通信
android·linux·服务器
爱笑鱼21 小时前
Binder(二):AIDL 生成的 Proxy、Stub 和 Parcel 到底在做什么?
android
爱笑鱼1 天前
Binder(一):一次方法调用,究竟怎样跨进程执行?
android
壮哥_icon1 天前
【Android 系统开发】使用 BAT 脚本高效自动化管理 /system/priv-app/ 系统应用(安装与卸载)
android·运维·自动化