Android Runtime (ART)
- Android runtime (ART) is the managed runtime used by applications and some system services on Android.
- ART and its predecessor Dalvik were originally created specifically for the Android project.
- Moreover, ART as the runtime executes the Dalvik Executable format and Dex bytecode specification.
- ART and Dalvik are compatible runtimes running Dex bytecode, so apps developed for Dalvik should work when running with ART.
Android Runtime Features
Here are some of the major features implemented by ART.
- Ahead-of-time (AOT) compilation – Android Runtime introduces ahead-of-time (AOT) compilation, which can improve app performance. ART also has tighter install-time verification than Dalvik.
- Improved garbage collection – Android Runtime improves garbage collection in several ways:
- One GC pause instead of two
- Parallelized processing during the remaining GC pause
- Lower total GC time
- Improved garbage collection ergonomics
- Compacting GC to reduce background memory usage and fragmentation
- Development and debugging improvements
- Support for sampling profiler
- Support for more debugging features
- Improved diagnostic detail in exceptions and crash reports
Android Virtual Device (AVD)
- An Android Virtual Device (AVD) definition lets you define the characteristics of an Android phone, tablet, Android Wear, or Android TV device that you want to simulate in the Android Emulator.
- The AVD Manager helps you easily create and manage AVDs.
- An AVD contains a hardware profile, system image, storage area, skin, and other properties.
- The hardware profile defines the characteristics of a device as shipped from the factory. The AVD Manager comes preloaded with certain hardware profiles, such as Nexus phone devices, and you can define and import hardware profiles as needed. You can override some of the settings in your AVD if needed.
- The AVD Manager helps you choose a system image for your AVD by providing recommendations. It also lets you download system images, some with add-on libraries, like Google APIs.
- The AVD has a dedicated storage area on your development machine. It stores the device user data, such as installed apps and settings, as well as an emulated SD card. If needed, you can use the AVD Manager to wipe user data, so the device has the same data as if it were new.
- An emulator skin specifies the appearance of a device. The AVD Manager provides some predefined skins. You can also define your own, or use skins provided by third parties.
AVD and app features
- Just as with a real device, for apps to use certain features defined in an AVD, such as the camera, it must have the corresponding <uses-feature> setting in the app manifest.
Android SDK Manager
- The Android Development Toolkit (ADT) Bundle provides the Software Development Kit (SDK) and the emulator system image from the latest platform.
- However, you will need other platforms to test your apps on earlier versions of Android.
- Moreover, You can get components for each platform using the Android SDK Manager.
- It is a set of development tools used to develop applications for Android platform.
- Every time Google releases a new version of Android, a corresponding SDK is also released.
- Also, To be able to write programs with the latest features, developers must download and install each version’s SDK for the particular phone.
- The Android SDK includes the following:
- Required libraries
- An emulator
- Relevant documentation for the Android application program interfaces (APIs)
- Sample source code
- Tutorials for the Android OS