1.Android系统架构(四层五块)
1.1Linux内核层
Android系统基于Linux2.6内核,为Android设备的各种硬件提供了底层驱动;
显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等;
LINUX KERNEL:
Display Driver
Camera Driver
Bluetooth Driver
Flash Memory Driver
Binder(IPC) Driver
USB Driver
Keypad Driver
WiFi Driver
Audio Driver
Power Management
1.2系统运行库层
通过一些C/C++库为Android系统提供了一些特性支持;
SQLite库提供数据库支持;
OpenGL|ES提供了3D绘图支持;
Webkit提供了浏览器内核支持;
libraries:
Surface Manager
Media Framework
SQLite
OpenGL|ES
FreeType
WebKit
SGL
SSL
libC
还有Android运行时库,主要提供了一些核心库,能够允许Android开发者使用Java语言编写Android应用;
另外,Android运行时库还包含Dalvik虚拟机,使得一些android应i用能够运行在独立的进程中,并且拥有一个自己的Dalvik虚拟机实例;
相较于Java虚拟机,Dalvik虚拟机是专门为移动设备定制的,针对手机内存、CPU性能有限等做了优化处理;
Android RunTime:
Care Libraries
Dalvik Virtual Machine
1.3应用框架层
提供了构建应用程序时可能用到的各种API,Android自带的一些核心应i用就是用这些API完成的;
Application Framework:
Activity Manager
Window Manager
Content Providers
View System
Notification Manager
Package Manager
Telephony Manager
Resource Manager
Location Manager
XMPP Service
1.4应用层
所有安装在手机的应用都属于这一层,系统自带的联系人、短信、安装的应i用软件等;
Applications:
Home
Contacts
Phone
Browser
2.Android已经发布的版本:
08年9月 谷歌发布Android1.0系统
2.1 2.2 2.3
11年2月 谷歌发布Android3.0系统,专门为平板电脑设计的,是为数不多比较失败的版本;
11年10月 谷歌发布Android4.0版本,不在对手机和平板进行差异化区分;
14年Google/IO大会发布Android5.0版本,使用ART运行环境代替了Dalvik虚拟机,还推出了Android Wear,Android Auto,Android TV等系统;
15年Google/IO大会发布了Android6.0版本,加入运行时权限功能;
16年Google/IO大会推出Android7.0版本,加入多窗口模式功能;
17年8月 发布Android8.0版本,启动速度比7.0快两倍,后台监控最大化限制不常用后台应用,加入分屏画中画模式;
3.Android应用开发特色
3.1四大组件
Activity(活动):所有应i用程序的门面,所有在应用中看到的东西,都放在活动中;
Service(服务):一直在后台默默运行,即使应用退出,仍然可以继续运行;
Broadcast Receiver(广播接收者):可以允许你的应用接受来自各处的广播消息,比如说电话、短信等,当然,你的应用也可以发送广播;
Content Provider(内容提供者):为应用程序之间共享数据提供可能,比如读取电话簿中的联系人就是通过内容提供者实现的;
3.2丰富的系统控件
3.3SQLite数据库
Android自带的轻量级、运算速度极快的嵌入式关系型数据库,不仅支持标准的SQL语法,还可以通过Android封装好的API进行操作;
3.4地理位置定位
Android内置有GPS,可以结合功能强大的地图功能;
3.5强大的多媒体
Android提供了丰富的多媒体服务,音乐、视频、录音、拍照、闹铃等;
3.6传感器
Android手机内置多种传感器,加速度传感器、方向传感器;