揭秘Android Dalvik虚拟机:高效内存与Java不兼容
需积分: 10 38 浏览量
更新于2024-09-11
收藏 377KB DOC 举报
Dalvik虚拟机是Android系统的核心组件之一,它在Google于2007年发布的Android SDK中首次亮相,为Android应用提供了高效的内存管理和在低性能处理器上的出色性能。尽管很多人误以为它是Java虚拟机,但实际上Dalvik与Java虚拟机有显著的区别。
首先, Dalvik运行的是专有的Dalvik Executable (DEX) 文件格式,而不是Java的字节码。Java SE应用程序的源代码经过编译,形成.class文件,并打包成JAR文件,然后由Java虚拟机执行。而在Android中,尽管使用Java语言编写,但编译后的CLASS文件会被转换成DEX文件,由Dalvik直接处理。这种设计允许Android应用程序更小、更快地加载,并且适应移动设备资源有限的环境。
Android的系统架构包括Linux内核、本地库、Android运行库(含核心库和Dalvik虚拟机)、应用框架以及实际的应用。核心库旨在与Java SE类库兼容,减少开发者迁移的复杂性,提高可用性。Dalvik虚拟机在这一架构中扮演关键角色,它负责对象生命周期管理、内存管理(包括堆栈管理和垃圾回收)、线程管理、安全措施以及异常处理等任务,这些都是保证移动应用稳定性和性能的基础。
Dalvik的设计考虑了移动设备的特点,比如对内存使用效率的优化、对轻量级线程的支持,以及在资源受限的环境中提供高效执行的能力。它的这些特性使得Android能够支持大规模的移动应用程序,同时保持良好的性能和用户体验。因此,理解Dalvik虚拟机对于深入研究和开发Android应用至关重要。
2019-04-19 上传
6516 浏览量
2009-05-19 上传
2018-08-20 上传
2013-11-29 上传
2011-11-26 上传
2010-04-10 上传
2013-08-31 上传
2009-04-28 上传
菜鸟的封装史
- 粉丝: 31
- 资源: 29
最新资源
- rect-firefox:无鼠标浏览 有 有
- 基础 知识点/面试题总结 : (必看:+1: ): Java 基础常见知识点&面试题总结(上) Java 基础常见知识点&面试
- project_cinema_backend:project_cinema的后端逻辑
- 行业分类-设备装置-可适用于不同种类纸钞的封装装置和封装方法.zip
- Competitive-programming-
- kamVideo:测试React
- using-redux:使用Redux集中应用程序状态
- Bifocal:双焦演示页面
- 致力于搭建一个最好的 C/C++ 学习平台 很多人不知道是否应该入坑 C/C++ 很多人不知道如何准备 C/C++ 面试 很
- 行业数据-2019年中国电商渠道植发消费群体年龄分布及预测.rar
- random-user-react:我的第一个React项目。 Randomuser.me API
- GrapplingHook-plugin:所有版本支持的spigot Grappling Hook插件
- 收集一些VB基于ActiveX做窗体的小东西
- shogiwars:收集和分析将棋战棋记录(最新版本为https
- 使用python3 模拟烟花绽放 推荐一下我的博客(https://blog.csdn.net/qq-37963615) 效
- module-offline-payments:脱机支付应用程序