Android application UI architecture and androidui Architecture

Source: Internet
Author: User
Tags vector font

Android application UI architecture and androidui Architecture

This title may sound a little too big. In fact, we mainly discuss the UI components of an application, whether to use Activity or Fragment, or both, and some precautions for using Activity and Fragment.

Activity or Fragment

Since API 11 and Honeycomb, Google has added Fragment to Android, a lightweight, reusable, and modular UI component, in addition, the official team strongly recommends using Fragment to implement the UI as much as possible and avoid using the Activity as much as possible. However, the official team does not explain in detail why this should be done. Therefore, this has caused a lot of confusion and online debates.

Click to read the full text


Generally, android development uses the system architecture layer?

Develop a program. The android system framework is layered and cannot be separated.

Application Layer:
This layer mainly refers to programs running on virtual machines written in java, at the beginning, Google bound some core applications in the android system (core applications must be written using the API framework at the application-layer ordering framework layer ), for example, in your android phone, you can use SMS to send short messages, address book, and so on.

Application Framework layer:
It refers to the API framework required for development. Developers call the framework and develop their own programs.

System Runtime Library layer:
It is used to support various components at the application framework layer. That is to say, when developers use the android Application Framework layer, the android system uses some C/C ++ libraries to support various components we use so that they can better serve developers.

Linux core layer:
Android core system services, such as security, memory management, process management, network protocol stack, and driver model, all depend on the Linux kernel. the Linux kernel is also used as the abstraction layer between hardware and software stacks.

Therefore, the program you develop runs at the application layer, and the package for writing code calls in the development is based on the application framework layer, the components in the application framework must be supported by the system Runtime Library. For example, to log on to the SQLite database, you must access the SQLite database. SQLite is located in the system Runtime Library, you need to enter information when logging on, and you must support the keyboard driver, and various drivers depend on the Linux kernel.

What is the five application development frameworks of android?

The android Application Development Framework consists of five parts: Linux Kernel, Android Runtime, Libraries, Application Framework, and Applications. The second part will detail these five parts. The bottom-up analysis layers are as follows.

Android Architecture

1. 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 engaged in application development, you do not need to have a deep understanding of the Linux Kernel layer.

2. 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.

3. 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

4. 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. Architecture of the application ...... the remaining full text>

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.