【Android App Development】Understanding of Android Architecture
【Android App Development】Understanding of Android Architecture
later
Posted On 2023-03-27 08:59:14 237 0 report
1. Bottom_ hardware
The bottommost hardware of any Android device includes display, wifi ,storage devices etc. The bottommost hardware of Android will be cropped according to
your needs and choose the hardware you need.
Some drivers are corresponding to the real hardware and are used to drive the underlying hardware, while some drivers are software abstractions and are
virtual drivers. The above shared memory driver and binder driver are software drivers.LogCat is also a software driver.
Android provides core system services based on Linux 2.6 , such as security , memory management , process management , network stack , driver model .
The Linux kernel also acts as an abstraction layer between hardware and software, which hides the details of the hardware and provides a unified service for
the upper layer.
Binder is used as a process communication mechanism to replace the traditional inter-process communication mechanism. This mechanism is implemented in
the Native layer and in the Java layer.
Define the interface for the Linux driver implementation required by Android;
SurfaceManager :
Media Framework :
SQLite :
WebKit :
Libc :
OpenGL|ES : provides a set of C/C++ libraries at this layer, but provides a layer of Java libraries at the Framework layer;
Audio Manager :
FreeType :
SSL :
Dalvik Virtual Machine : Android\Virtual Machine , Register-based . The stack-based implementation of most virtual machines is a . The virtual machine relies
on the basic functions provided by the Linux kernel, such as threading and the underlying memory management.
All Android applications are developed in Java and run on the Dalvik virtual machine.
6.Application Framework
It provides a set of APIs, and the four components are provided at this layer, and this framework also provides a set of services that will reside in a certain
program during the boot of the phone. For example, listen to phone calls, text messages , etc., and turn on the services of the corresponding broadcast
recipients. When Linux starts, the services are loaded, and each service occupies a Dalvik virtual machine.
By providing an open development platform, Android developers can compile extremely rich and novel applications, and developers can freely use the
hardware advantages of the device to access location information, run background services, set alarms, add notifications to the status bar, etc.;
Developers can fully use the framework APIs used by the core application, and the architecture of the application is designed to simplify the reuse of
components, so that any application can publish its functionality, and any other application can use these features. This mechanism allows the user to replace
components, all applications are actually a set of services and systems.
Click on the adb shell to view the connected phone, the ps command can view all the processes, the service list command can view all the services that have
been started, and the system services can be obtained through getSystemService.
In this layer, the mechanism of inter-process communication is encapsulated, which is the Binder mechanism;
7. Applications
Applications developed using Java.
For developers: Fast and flexible development platform, so that developers' inspiration can be quickly transformed into products.
For example, the underlying layer of this platform may not be supported, this port can be a whole port from the bottom driver to the upper level of the
application, or it can be an application port on different SDK versions.
(2) Application development
To develop mobile TV, you need to decode the data for video, complete a set of video decoding library in Native, and expose the API at the Framework layer for
developers to use;
Application architecture ;
Application architecture ;
JNI technology ;