物联网移动APP架构设计

Android系统架构

在这里插入图片描述

应用层

  • SMS短信客户端程序、电话拨号程序、图片浏览器、Web浏览器等。这些应用程序都是用Java语言编写的,并且都是可以被开发人员开发的其他应用程序所替换

应用程序框架层

  • Android开发的基础,简化了组件的重用,开发人员可以直接使用其提供的组件来快速的进行应用程序的开发,也可以通过继承来实现个性化的拓展。包括各种管理器Manager.

系统运行库

  • 包括系统库和Android Runtime,系统库是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带。程序在Andro id Runtime中执行,其运行时分为核心库和Dalvik虚拟机(ART虚拟机)两部分。
库名称定义
C库C语言标准库,也是系统中的一个最为底层的课,C库通过Linux的系统调用来实现
多媒体框架基于PacketVideo的OpenCORE,从功能上这个库一共分为两大部分,一部分是音频、视频的回放,另一部分是音视频的记录
SGL2D图像引擎
SSLSecure Socket Layer位于TCP/IP协议与各种应用层协议之间,为数据通信提供安全支持
OpenGL ES提供对 3D的支持
界面管理工具提供了管理显示子系统等功能
SQLite通用嵌入式数据库
WebKit网络浏览器核心
FreeType位图和矢量字体的功能
Java虚拟机执行Java标准的字节码,在最新的5.0版本中使用ART默认的运行环境
Dalvik执行的是Dalvik可执行格式(.dex)中的执行文件。在执行过程中,每一个应用程序即为一个进程

Linux内核层

  • 基于Linux内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于Linux内核。

Android驱动程序:

驱动名称定义
显示驱动(Display Driver)常用的基于Linux的帧缓冲驱动
Flash内存驱动(Flash Memory Driver)是基于MTD的Falsh驱动程序
照相机驱动(Camera Driver)常用基于Linux的VFL(Video For Linux)驱动
音频驱动(Audio Driver)常用基于ALSA(高级Linux声音体系)驱动
WiFi驱动(WiFi Driver)基于IEEEE 802.11标准的驱动程序
键盘驱动(KeyBoard Driver)作为输入设备的键盘驱动
蓝牙驱动(BlueTooth Driver)基于IEEE 802.15.1标准的无线传输技术
Binder IPC 驱动Android一个特殊的驱动程序,具有单独的设备节点,提供进程间通信的功能
Power Managerment (电源管理)用于管理电池电量的信息
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页