What are common android development frameworks and android development frameworks?
Android applications were initially an open-source mobile phone operating system developed by Google based on the Linux platform. It includes the operating system, user interface, and applications. Android includes a core library that provides most of the functions of the core library of JAVA programming language. However, during android Application Development, a framework must be set up for the environment. What are the android development frameworks?
1. Applications
Android assembles a collection of core applications, including email clients, SMS programs, calendars, maps, browsers, contacts, and other settings. All applications are written in Java programming language. More rich applications need to be developed! From the above we know that the Android architecture is layered, very clear, and the division of labor is very clear. Android is a Software Stack, or "Software Stack". It is divided into three layers: Operating System, middleware, and application. From the above we also saw the power of open source, where familiar Open Source Software contributed their own strength.
2. Linux Kernel
Android provides core system services based on Linux 2.6, such as security, memory management, process management, network stack, and driver model. Linux Kernel is also an abstraction layer between hardware and software. It hides specific hardware details and provides unified services for the upper layer. If you have learned computer networks and know OSI/RM, you will know that the benefit of layering is to use the services provided by the lower layer to provide unified services for the upper layer, shielding the differences between the current layer and the following layers, when the current layer and the following layers change, the upper layer is not affected. That is to say, each layer performs its own duties, and each layer provides a fixed SAP (Service Access Point). The professional points can be said to be high cohesion and low coupling. If you are only developing Android applications, you do not need to have a deep understanding of the Linux Kernel layer.
3. Application Framework
By providing an open development platform, Android enables developers to develop extremely rich and novel applications. Developers can freely take advantage of the hardware advantages of devices, access location information, run background services, Set alarms, and add notifications to the status bar. Developers can fully use the APIs framework used by core applications. The architecture of an application is designed to simplify the reuse of components. Any application can publish its features and any other application can use these features (subject to the security constraints executed by the Framework ). This mechanism allows users to replace components. All applications are actually a set of services and systems, including: views-a rich and scalable set of views that can be used to build an application. Including lists, grids, text boxes, buttons, and even Content Providers embedded in Web browsers-enabling applications to access data from other applications (such as address books, or share your own data Resource Manager (Resource Manager)-provides access to non-code resources, such as localized strings, graphics, and layout file Notification Manager (Notification Manager) -- enable all applications to display custom alarm Activity Manager (Activity Manager) in the status bar -- manage the application lifecycle and provide general navigation rollback functions.
4. Libraries
Android contains a collection of C/C ++ libraries for various components of the Android system. These functions are exposed to developers through the Android application framework. The following lists some core libraries: system C library-the BSD derivative of the Standard C system library (libc), adjusted to the embedded Linux device media library-The PacketVideo-based OpenCORE. These libraries support playing and recording many popular audio and video formats, as well as static image files, including MPEG4 and H. 264. Manage MP3, AAC, AMR, JPG, and PNG interfaces-manage the access display subsystem and seamlessly combine the 2D and 3D graphics layers LibWebCore of multiple applications-a new Web browser engine, driver Android browser and Embedded web View SGL-Basic 2D graphics engine 3D library-Based on OpenGL ES 1.0 APIs implementation. Libraries use hardware 3D acceleration or include highly optimized 3D software grating FreeType -- bitmap and vector font rendering SQLite -- powerful and lightweight relational database engines available for all applications
5. Android Runtime
Android contains a collection of core libraries, providing most of the functions available in the core library of Java programming language. Every Android application is an instance in the Dalvik Virtual Machine and runs in its own process. The Dalvik virtual machine is designed to efficiently run multiple virtual machines on one device. The Dalvik Virtual Machine executable file format is. dex. dex is a compression format designed for Dalvik, suitable for systems with limited memory and processor speed. Most virtual machines, including JVM, are stack-based, while Dalvik virtual machines are register-based. The two architectures have their own advantages and disadvantages. Generally, the stack-based machine requires more commands, while the register-based machine requires more commands. Dx is a set of tools that can convert Java. class to. dex format. A dex file usually has multiple. classes. Because dex sometimes has to be optimized, it will increase the file size by 1 to 4 times and end with ODEX. The Dalvik Virtual Machine relies on the Linux kernel to provide basic functions, such as thread and underlying memory management.
From the Android Application Development Framework above, we know that the Android architecture is layered, clear, and well-defined. Android is a Software Stack, or "Software Stack architecture". It is divided into three layers: Operating System, middleware, and application. From the above we also saw the power of open source, where familiar Open Source Software contributed their own strength.
Recommended reading
Android quick development framework: ThinkAndroid
First recognized Facebook's powerful Android image loading framework-Fresco
Copyright Disclaimer: This article is an original article by the blogger and cannot be reproduced without the permission of the blogger.