---
title: "What is the Android Application Architecture?"  
description: "What is the Android Application Architecture?"  
author: "Ava Reeve"  
published: 2018-01-03  
canonical: https://answers.mindstick.com/qa/32429/what-is-the-android-application-architecture  
category: "gadgets"  
tags: ["android", "android os"]  
reading_time: 3 minutes  

---

# What is the Android Application Architecture?

What is the [Android](https://yourviews.mindstick.com/view/84568/iphone-vs-android-how-to-choose-the-best-smartphone) [Application Architecture](https://www.mindstick.com/interview/22943/briefly-describe-android-application-architecture)?

## Answers

### Answer by Prateek sharma

Android provides the strong foundation for building [application](https://www.mindstick.com/articles/12824/calculator-application-in-android) that can run on wide range of devices such as smartphones, tablets, watches etc. Android [Architecture](https://yourviews.mindstick.com/story/5088/meenakshi-temple-madurai-a-masterpiece-of-south-indian-architecture) Components work together to implement the same app architecture, while they individually address developer pain points. The components help you: 1. Manage your activity and fragment lifecycles automatically to avoid memory and resource leaks 2. Persists Java data objects to an SQLite database. ![What is the Android Application Architecture?](https://answers.mindstick.com/questionanswer/e13bb745-f973-4d27-84fc-b20129debf26/images/32228595-e90e-478b-b0a7-53db687adb83.png)\
**Applications** All the android application occurs at the top layer. Applications are installed and written on this layer only. Some of the examples include Browser, Games, etc. **The Linux Kernal** The basic foundation of Android is Linux kernel. For example, the Android runtime relies on the Linux kernel for underlying functionalities such as threading and low-level memory management. Using a Linux kernel Android takes advantage of key security features and allows device manufacturers to develop hardware drivers for a well-known kernel. **Hardware Abstraction Layer (HAL)** Hardware abstraction layer provides access to hardware component at the abstract level rather than the detailed hardware level. In Android, HAL allows access to the various hardware component such Bluetooth, camera, sensors etc. It allows you to implement the functionality of these components without affecting the higher level components. **Java API Framework** There are lots of features-set available to the user through the use of various API’s written in Java. These APIs form the building blocks to develop the Android application simplifying the reuse of core, modular system components, and services which include the content provider, resource manager, notification manager. **Android Runtime** For devices running on API level 21 and above each app runs on its own instance of ART and on its own process. It becomes easy to run multiple virtual machines on low-memory devices by executing DEX files. DEX is basically a bytecode format designed especially for Android that is optimized for minimal memory footprint. Some of the major features of ART include the following:

- • Ahead-of-time (AOT) and just-in-time (JIT) compilation
- • Garbage collection (GC)
- • Better debugging support, detailed information on diagnostic exceptions and crash reports.

**Native C/C++ libraries** There includes lots of Android components and services, which includes ART and HAL, which are built from native code and which requires the use of native libraries written in C and C++. If the requirement of the app you are developing require the use of C/C++ code you can use Android NDK to Access some of these native android libraries directly from your native code. \
\


---

Original Source: https://answers.mindstick.com/qa/32429/what-is-the-android-application-architecture

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
