2. Android系统结构
2015-09-12 22:06
274 查看
和Qt是一种框架不同,Android是一个完整的系统。下图是一张Android系统的截图。
![](https://img-blog.csdn.net/20150914102553187)
1、Linux 内核层
Android是基于Linux内核的,其核心系统服务,比如如安全、内存管理、进程管理、网路协议以及驱动模型都依赖于这一层。由C和少量汇编编写。
2、库
运行在内核之上,这一层是C/C++的天下。包含了各种C/C++核心库,媒体库,SGL和OpenGL的图形库,SQL,SSL,网络库。
3、Android运行时,严格来说上述两层和Android没有很强的关系,只是为Android提供一些基础支持。通过Android运行时,把上述两层和”“真正的Android”“连接起来。Android运行时包括Android核心库和Dalvik虚拟机,为应用程序提供“引擎”。Android核心库提供了JAVA核心库和Android特定库。Dalvik虚拟机是一个为移动设备定制的JAVA虚拟机,基于寄存器(从应用程序包含的R.java文件可以看出,资源用数字编号,从而实现快速定位)。从Android4.4开始,因为Dalvik效率问题,一种称做ART虚拟机开始试图取代Dalvik虚拟机。关于Dalvik和ART的优劣对比,会在另一篇关于Android应用程序的编译和启动过程的文章中出现。
4、应用程序框架,编写Android应用程序所需要的类,由这一层提供。在这一层提供了应用程序访问硬件的接口抽象。管理用户界面和应用程序资源(废话,应用程序类就是这一层提供的,当然要负责)。
5、应用层,和普通用户打交道的地方。包括原生的和第三方的。使用应用程序框架提供的各种资源,运行在Android运行时内。
1、Linux 内核层
Android是基于Linux内核的,其核心系统服务,比如如安全、内存管理、进程管理、网路协议以及驱动模型都依赖于这一层。由C和少量汇编编写。
2、库
运行在内核之上,这一层是C/C++的天下。包含了各种C/C++核心库,媒体库,SGL和OpenGL的图形库,SQL,SSL,网络库。
3、Android运行时,严格来说上述两层和Android没有很强的关系,只是为Android提供一些基础支持。通过Android运行时,把上述两层和”“真正的Android”“连接起来。Android运行时包括Android核心库和Dalvik虚拟机,为应用程序提供“引擎”。Android核心库提供了JAVA核心库和Android特定库。Dalvik虚拟机是一个为移动设备定制的JAVA虚拟机,基于寄存器(从应用程序包含的R.java文件可以看出,资源用数字编号,从而实现快速定位)。从Android4.4开始,因为Dalvik效率问题,一种称做ART虚拟机开始试图取代Dalvik虚拟机。关于Dalvik和ART的优劣对比,会在另一篇关于Android应用程序的编译和启动过程的文章中出现。
4、应用程序框架,编写Android应用程序所需要的类,由这一层提供。在这一层提供了应用程序访问硬件的接口抽象。管理用户界面和应用程序资源(废话,应用程序类就是这一层提供的,当然要负责)。
5、应用层,和普通用户打交道的地方。包括原生的和第三方的。使用应用程序框架提供的各种资源,运行在Android运行时内。
个人博客总目录
相关文章推荐
- Android0909<十四>(Service、Android线程)
- Android中AIDL使用例子
- Android 动画深入分析
- 如何在Android模拟器上安装apk文件
- android获取asset文件存到SD卡
- Glide图片加载器详解(PPT转录)
- android---AlertDialog对话框解析
- Android Studio中使用*.jar,*.aar和*.so文件
- Android开发环境的发展演变
- javaS的tring和androidS的tring区别是什么?
- Android开发之路(二)--浅析MVC开发模式
- 超轻量级的安卓SlidingMenu库
- Android JNI的动态注册
- Android 使用ShardSDK实现社会化分享
- Android(java)学习笔记237:多媒体之图形的变化处理
- leakcanary作者发现的一个Dialog的各种listener容易引发的内存泄露问题
- Android开发-Activity(一)
- 【Android自定义View】随机数按钮
- Android中自动跳转到系统设置界面
- Android开发之路(一)---如何开始学习Android