Skip to main content

Android Dalvik Virtual Machine

Hello Everyone!


In this article we are discussing about the Dalvik Virtual Machine. It is one of the important concept in android architecture. Dalvik Virtual Machine has also been asked few times in university exams (sometimes as a separate question and sometimes along with the Android Architecture).

Dalvik Virtual Machine is one of the key elements of Android Application. The Dalvik Virtual Machine (DVM) is an android virtual machine which is optimized for mobile devices. It optimizes the virtual machine for memory, battery life and performance. Dalvik Virtual Machine is only supported by the android operating system. The overall execution is faster using Dalvik VM.

Rather than using a traditional Java Virtual Machine, Android uses its own custom VM, designed to ensure that multiple instances run efficiently on a single device. One reason for using Dalvik VM is that Java VM was not open source and hence not efficient to use on a large scale.

The Dalvik Virtual Machine uses the device’s underlying Linux kernel to handle some low-level functionality, including security, threading, process management and memory management.

Dalvik acts as a middle person between hardware and system service access. By using a VM to host application execution, developers have an abstraction layer that ensures that they never have to worry about a particular hardware implementation.

The Dalvik VM executes Dalvik executable files (DEX). The Dex files are optimized for minimal memory usage. The Dex compiler converts the ".class" files into the ".dex" files that runs on the Dalvik Virtual Machine. Multiple class files are converted into single dex file. 


Working of Dex Compiler

Basically, the Java Compiler (javac) converts the Java Source Code into Java Byte-Code. This is the ".class file". Now this ".class" file is compiled by DEX compiler to obtain a ".dex" file (Dalvik Byte Code) which is then packaged by the AAPT (Android Assets Packaging Tool) into a ".apk" file.

 


Also checkout Android Architecture and the Different Building Blocks of Android.

Comments

Popular posts from this blog

Statistics - MCQs

STATISTICS  This article contains few statistics MCQs related to mean, median, mode and standard deviation, asked in TCS Freshers placements. Q 1) The mean of the median, the mode and the range of the following data: 15, 10, 17, 13, 25, 17, 11, 18, 14, 19, 12, 20 a. 15 b. 16(2/3) c. 16 d. 15(1/3) Solution: c) 16 Arrange the data in increasing order- 10,11,12,13,14,15,17,17,18,19,20,25 Median = (Sum of the middle two terms)/2 = (15+17) /2 = 16 Mode = Number repeating the most number of times = 17 Range =10 to 25 = 15 Mean of median, mode and range = (16+17+15) /3 =16 Q 2) What is the mean of the mode and the median on the following data? 12, 28, 26, 27, 17, 16, 22, 25, 15, 16,...

Android Architecture Stack

Hello Everyone! In this article we are discussing about the android architecture. It is essential for all the android application developers to understand the android architecture to get a clearer idea about the structure on which the application is made. From the exam point of view, the android architecture stack question has been asked several times (sometimes along with the Dalvik Virtual Machine ). Android operating system is a stack of software components which is roughly divided into five sections and four layers. The five sections of android architecture are- Linux kernel Libraries Android Runtime Application Framework Applications This is a layered architecture with each section having a different functionality. A) Linux Kernel - It is the bottom most layer of the architecture. This is the kernel on which android is based. This layer provides a level of abstraction between the hardware devices. It also contains all the l...

MIS MCQs on Information System, Data-Information-Knowledge and Knowledge Management System

Hello Everyone! This is another article based on MCQs, related to Management Information System . These are the general MCQs which are commonly asked in exams and include topics like the basic introduction to Information System and its types, Data-Information-Knowledge and Knowledge Management System. Learn more about the " Information system and its types ". Also check out the First Part   and Second Part of Social Computing MCQs . Q 1) A ______ is an attempt to provide the same judgmental advice that human experts such as doctors provide. a. ES b. AI c. DSS d. KMS Solution: a) Expert System (ES) Q 2) A _________ expressly designed for the support of individual and collective decision making. a. TPS b. OIS c. MIS d. DSS Solution: d) DSS Q 3) A _______ is an...