Thursday, July 2, 2015

Filled Under:
,

Android Architecture

SOCIALIZE IT →
Android Architecture as shown in below snapshot can also be subdivided into 5 layers: The kernel and low stage instruments, native libraries, the Android Runtime, the framework layer and on top of the entire applications.
Android-Architecture

Inexperienced items are written in C/C++, blue items are written in Java and run in the Dalvik VM Following are the distinct layers within the Android stack:

"(Linux Kernel Layer
Native Layer
Application Framework Layer
Applications layer)"


Kernel Layer


At the backside of the Android stack is the Linux Kernel. It by no means fairly interacts with the customers and developers, however is at the heart of the whole system. Its value stems from the truth that it supplies the following functions within the Android method:

    Hardware abstraction
    Memory management programs
    Security settings
    Power management software
    Other hardware drivers (Drivers are programs that control hardware devices.
    Help for shared libraries
    community stack

With the evolution of Android, the Linux kernels it runs on have evolved too. Here's a desk highlighting the distinct kernel Versions.

The best kernel in used is a Linux 2.6 series kernel, modified for exact desires in Power administration, memory administration and the runtime environment. Proper above the kernel run some Linux ordinary daemons like bluez for Bluetooth help and wpa supplicant for WiFi encryption.


Native Libraries Layer


As Android is meant to run on gadgets with little major memory and low powered CPUs, the libraries for CPU and GPU intensive duties are compiled to gadget optimized native code. Normal libraries like the libc or libm have been developed certainly for low memory consumption and given that of licensing problems on Android. On this layer the surface supervisor handles monitor access for the window manager from the framework layer. Opposing to other frameworks, the media framework resides on this layer, as it involves audio and video codecs that ought to be closely optimized.


Open source Libraries


floor manager: composing home windows on the screen
SGL: second imagesES: 3D Library
Media Framework: helps playbacks and recording of quite a lot of audio, video and photo codecs.
THE Free type: Font Rendering
WebKit: Browser Engine
libc (method C libraries)
SQLite
Open SSL


what is Dalvik VM?


Dalvik is open-source Apps. Dan Bornstein, who named it after the fishing village of Dalvík in Eyjafjörður, Iceland, where a few of his ancestors lived, originally wrote Dalvic VM. It's the software in charge for jogging apps on Android gadgets.

it's a Register based digital computer.it is optimized for low reminiscence requisites.It has been designed to permit multiple VM instances to run directly.relies on the underlying OS for procedure isolation, reminiscence management and threading support.Operates on DEX documents.

Located on the identical degree as the libraries layer, the Android runtime layer includes a collection of core Java libraries as well. Android utility programmers build their apps utilizing the Java programming language. It also involves the Dalvik digital desktop.


Application Framework Layer



important blocks of application Framework:


   Activity Manager: Manages the activity lifestyles cycle of applications
    content material providers: control the data sharing between applications
    Telephony manager: Manages all voice calls. We use telephony manager if we want to    access voice calls in our software
    Location Manager: place administration, making use of GPS or telephone tower
    Resource Manager: manage the quite a lot of forms of resources we use in our software

Frameworks in the utility Framework layer are written in Java and furnish abstractions of the underlying native libraries and Dalvik capabilities to functions. Android applications run in their own sandboxed Dalvik VM and can consist of multiple accessories: events, offerings, broadcast receivers and content vendors. Add-ons can engage with other components of the equal or one other application by way of intents.


Application Layer


The Android Runtime includes the Dalvik virtual desktop and the Java core libraries. The Dalvik digital machine is an interpreter for byte code that has been changed from Java byte code to Dalvik byte code. Dalvik itself is compiled to native code whereas the the core libraries are written in Java, thus interpreted with the aid of Dalvik.

The applications are on the topmost layer of the Android stack. An natural user of the Android gadget would frequently have interaction with this layer (for general features, corresponding to making phone calls, getting access to the web browser and many others.). The layers further down are accessed in general by way of developers, programmers and the likes.


Several normal applications come established with each device, such as:


    SMS Client app
    Dialer
    web browser
    Contact manager




0 Comments:

Post a Comment

  • Home
  • About-us
  • Contact Me
  • Privacy Policy / Terms Of Service
  • Sitemap
  • Back To Top