¿Qué son los csdn para marcos de desarrollo de aplicaciones de Android?
Arquitectura de Android
1. Kernel de Linux
Android proporciona servicios centrales del sistema basados en Linux 2.6, como seguridad, administración de memoria, administración de procesos, pila de red, y modelos de controladores, etc. Como capa de abstracción entre software y hardware, el kernel de Linux oculta detalles específicos del hardware y proporciona servicios unificados a la capa superior. Si ha estudiado redes de computadoras y conoce OSI/RM, sabrá que la ventaja de la estratificación es utilizar los servicios proporcionados por la capa inferior para brindar servicios unificados a la capa superior, protegiendo así las diferencias entre esta capa y la capa inferior. Al cambiar, las capas superiores no se verán afectadas. En otras palabras, cada capa realiza sus propias funciones y cada capa proporciona un SAP (punto de acceso al servicio) fijo. Se puede decir que su especialidad es la alta cohesión y el bajo acoplamiento. Si solo desarrolla aplicaciones, no necesita tener un conocimiento profundo de la capa del kernel de Linux.
2. Tiempo de ejecución de Android
Android contiene un conjunto de bibliotecas principales que proporcionan la mayoría de las funciones disponibles en las bibliotecas de clases principales del lenguaje de programación Java. Cada aplicación de Android es una instancia de la máquina virtual Dalvik y se ejecuta en su propio proceso. La máquina virtual Dalvik está diseñada para ejecutar de manera eficiente varias máquinas virtuales en un solo dispositivo. El formato de archivo ejecutable de la máquina virtual Dalvik es. dex, un formato de compresión diseñado específicamente para Dalvik y adecuado para sistemas con memoria y velocidad de procesador limitadas. La mayoría de las máquinas virtuales, incluida JVM, se basan en pilas, mientras que la máquina virtual Dalvik se basa en registros. Ambas arquitecturas tienen ventajas y desventajas. En general, las máquinas basadas en pilas requieren más instrucciones, mientras que las máquinas basadas en registros requieren más instrucciones. Dx es un conjunto de herramientas que pueden convertir Java. clasificado en. formato dex. Generalmente hay varios archivos dex. clase. Debido a que a veces es necesario optimizar el dex, aumenta el tamaño del archivo de 1 a 4 veces, terminando en ODEX. La máquina virtual Dalvik se basa en el kernel de Linux para proporcionar funciones básicas como subprocesos y administración de memoria de bajo nivel.
3. Biblioteca
Android contiene un conjunto de bibliotecas C/C++, que son utilizadas por varios componentes del sistema Android. Estas funciones están expuestas a los desarrolladores a través del marco de la aplicación de Android. Algunas de las bibliotecas principales se enumeran a continuación: Biblioteca System C: un derivado BSD de la libc estándar C System (libc), basada en la biblioteca multimedia integrada del dispositivo Linux PacketVideo ajustada a OpenCORE. Estas bibliotecas admiten la reproducción y grabación de muchos formatos populares de audio y video, así como archivos de imágenes fijas, incluidos MPEG4-4, H.264, MP3, AAC, AMR, JPG, PNG. Administración de interfaz: administración de subsistemas de visualización y 2D y. 3D A la capa de gráficos se accede mediante LibWebCore, un nuevo motor de navegador web que combina a la perfección múltiples aplicaciones. El motor del navegador de Android y las vistas web integradas es SGL, una biblioteca 3D de motor de gráficos 2D básico, basada en la API OpenGL ES 1.0. La biblioteca utiliza aceleración 3D por hardware o contiene software 3D raster FreeType altamente optimizado: representación de mapas de bits y fuentes vectoriales SQLite, un motor de base de datos relacional potente y liviano que puede ser utilizado por todas las aplicaciones.
4. Marco de aplicaciones
Al proporcionar una plataforma de desarrollo abierta, Android permite a los desarrolladores escribir aplicaciones extremadamente ricas y novedosas. Los desarrolladores son libres de aprovechar el hardware del dispositivo, acceder a información de ubicación, ejecutar servicios en segundo plano, configurar alarmas, agregar notificaciones a la barra de estado y más. Los desarrolladores pueden aprovechar al máximo la API marco utilizada por las aplicaciones principales. La arquitectura de la aplicación está diseñada para simplificar la reutilización de componentes. Cualquier aplicación puede publicar sus funciones, que pueden ser utilizadas por cualquier otra aplicación (sujetas a las restricciones de seguridad impuestas por el marco). Este mecanismo permite a los usuarios reemplazar componentes.
Todas las aplicaciones son en realidad un conjunto de servicios y sistemas, incluidas las Vistas, una colección rica y extensible de vistas que se pueden utilizar para crear una aplicación. Incluyendo listas, cuadrículas, cuadros de texto, botones e incluso proveedores de contenido de navegador web integrados): permite que las aplicaciones accedan a datos de otras aplicaciones (como libretas de direcciones o * * * disfrute de su propio explorador de datos). Proporciona acceso a datos sin código. recursos como el administrador de notificaciones) - Cadenas, gráficos y archivos de diseño para localización - Permite que todas las aplicaciones muestren alertas personalizadas en la barra de estado Administrador de actividades - Administra el ciclo de vida de la aplicación y proporciona navegación general y funciones de retroceso.
5. Aplicaciones
Android reúne una serie de aplicaciones principales, incluidos clientes de correo electrónico, programas de mensajería de texto, calendarios, mapas, navegadores, contactos y otras configuraciones. Todas las aplicaciones están escritas en lenguaje de programación Java. ¡Aplicaciones más ricas nos esperan para desarrollarlas! De lo anterior sabemos que la arquitectura de Android es jerárquica, muy clara y la división del trabajo es muy clara. Android en sí es una pila de software, o "arquitectura de pila de software", que se divide principalmente en tres capas: sistema operativo, middleware y aplicación. De lo anterior también hemos visto que el poder del código abierto familiar aporta su propia fuerza aquí.