1、Android系统架构
Android大致可以分为四层架构:Linux内核层、系统运行库层、应用框架层和应用层。
Android系统架构图
1.1 Linux内核层
Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、WiFi驱动、电源管理等。
1.2 系统运行库层
这一层通过一些C/C++库来为Android系统提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL|ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。
同样在这一层还有Android运行时库,它主要提供了一些核心库,能够允许开发者使用Java语言来编写Android应用。另外,Android运行时库中还包含Dalvik虚拟机(5.0系统以后改为ART运行环境)它使得每一个Android应用都能运行在独立的进程当中,并且拥有一个自己的Dalvik虚拟机实例。相较于Java虚拟机,Dalvik是专门为移动设备定制的,它针对手机内存、CPU性能有限等情况做了优化处理。
1.3 应用框架层
这一层主要提供了构建应用程序时可能用到的各种API,Android自带的一些核心应用就是使用这些API完成的,开发者也可以通过这些API来构建自己的应用程序。
1.4 应用层
所有安装在手机上的应用程序都是属于这一层的,比如系统自带的联系人、短信等程序,或者你从Google Play上下载的小游戏,当然还包括你自己的应用程序。
2、Android已发布的版本
Android5.0系统中,使用ART运行环境替代了Dalvik虚拟机,大大提升了应用的运行速度,还提出了Material Design的概念来优化应用的界面设计。Android6.0系统中,加入运行时权限功能。Android7.0系统中,加入多窗口模式。
Android历史版本与代号表
3、Android应用开发特色
3.1 四大组件
Android系统四大组件分别是活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)。其中活动是所有Android应用的门面,凡是在应用程序中看得到的东西,都是放在活动中的。而服务会一直在后台默默地运行,即使用户退出了应用,服务仍然是可以继续运行的。广播接收器运行应用接收来自各处的广播消息,比如电话、短信等,同样也可以向外发出广播消息。内容提供器则为应用程序之间共享数据提供了可能,比如应用程序想要读取系统电话簿中的联系人,就需要通过内容提供器来实现。
3.2 丰富的系统控件
Android系统为开发者提供了丰富的系统控件,使得开发者可以很轻松地编写出漂亮的界面。当然,开发者也可以定制属于自己的控件。
3.3 SQLite数据库
Android系统自带了这种轻量级、运算速度快的嵌入式关系模型数据库。它不仅支持标准的SQL语法,还可以通过Android封装好的API进行操作,让存储和读取数据变得非常简单。
3.4 强大的多媒体
Android系统提供了丰富的多媒体服务,如音乐、视频、录音、拍照、闹铃等,这一切都可以在程序中通过代码进行控制,让应用变得丰富多彩。
3.5 地理位置定位
移动设备和PC相比起来,地理位置定位功能应该算是很大的一个亮点。现在的Android手机都内置有GPS,走到哪都可以定位到自己的位置,就可以做出很强大的LBS应用程序。