SL4A - Android架构

Android软件堆栈由不同的层组成,每个层都显示明确定义的行为,并为其上方的层提供特定服务.下图展示了Android及其主要组件的广泛架构.

Android架构

Linux内核

Android是基于Linux内核代码构建的,该代码经过修改后可在嵌入式系统上运行,而不是传统的Linux系统.许多常见设备的硬件驱动程序内置于内核中,从而确保了设备的可移植性.它基于安全的基于用户的权限模型,可防止一个应用程序读取另一个应用程序的信息或干扰其执行(例如CPU,内存,设备等).

基于组ID访问网络和蓝牙功能,记录器,警报,电源管理,低内存杀手,Binder IPC机制是对内核的一些着名增强.

库和运行时

这构成了体系结构的第二层.它包括一组硬件优化的C,C ++库,也称为本机层.示例包括媒体库,SQLite,SSL,Bionic,WebKit等.

Android Runtime包含两个不同的组件 :  Dalvik VM和核心库. Dalvik VM为Android平台上的应用程序提供执行环境.核心库集提供了Java API中可用的大部分功能.

应用程序框架

该层使库可用作应用程序的服务.该层中一些最重要的组件包括位置管理器,资源管理器,活动管理器和通知管理器.

应用程序

默认情况下,Android附带一个丰富的应用程序,包括浏览器,短信程序,日历,联系人管理器,地图等.Google Play提供了这些应用程序的替代方案,如果用户需要的话.

Building Blocks

应用程序可以通过四个功能块与系统连接.它们如下:<

  • 活动 : 活动表示用户在视觉上看到或与之交互的单个屏幕.例如,电子邮件应用可能包含一个显示新电子邮件列表的活动,另一个用于撰写电子邮件的活动,以及另一个用于阅读电子邮件的活动.

  • 服务 : 大多数处理都是通过这些服务为您的应用程序完成的.这是用户界面背后的逻辑.例如,当用户在不同的应用程序中时,服务可能会在后台播放音乐,或者它可能通过网络获取数据而不会阻止用户与活动的交互.

  • 广播接收器 : 可以注册以侦听系统或应用程序事件并发出相同通知的组件.来自系统的广播实例是"低电量通知",而应用级广播可以是"下载成功"通知.

  • 内容提供商 : 内容提供商管理并帮助您在多个应用程序之间共享数据.对于例如内容提供商可用于共享联系人数据.

这些组件通过名为 Intents