As Android architecture is an open-source stack which was implemented from the
Linux kernel and is derived from different varieties of device arrays and the
other form factors. And it is further divided into different section which is
1. Linux kernel
2. HAL or hardware abstraction layer
3. Android Runtime
4. Libraries for native C/C++
5. The framework of Java API
6. System applications
Linux kernel is the base or the foundation of the android operating system. The Android runtime depends on the Linux kernel for the different types of functionalities such as threading, memory management of the low-level memory these are all a type of underlying functionalities.
Android has the advantage while using the Linux kernel as it allows to take the advantage of the key security features and it helps in developing the hardware drivers for the well-established kernels.
HAL or HARDWARE ABSTRACTION LAYER
Features of Android runtime are:
- Compilation of ahead of time and just in time.
- Collection of the optimized garbage.
- Having the best debugging support and the dedicating sampling profiler, reporting all the diagnostic exception and its reports, to monitor the watch points at that place.
JAVA API FRAMEWORK
- Use texts, grids, lists, button, infographic and create a brand new and attractive view system which you can use to build the User Interface of an application.
- The notification pops up when the notification manager alerts about it in the status bar.
- The lifespan of the applications is being tracked by the activity manager.
There are some of the core applications that are in-built by the Android those are the email messaging, text messaging, browsing on the internet, contacts and a lot more. The inbuilt applications and the applications that are downloaded by the users are all same they don't possess any special status. Both the in-built and downloaded applications have the same status and the same backend work. So, the third party application can also become the default browser for the user’s, default messaging applications, and even if the default keyboard. But the system apps can be accessed by the users and the developers together whereas the developers get the key capabilities to access their own applications. Suppose you want to play a game you didn’t require to build the whole application only that you to download it to play it.