Android初学之路—Android系统框架

从下到上依次为:

     1.Linux内核(Linux Kernel)

Android系统的最底层是基于Linux内核实现的,它负责硬件驱动、网络管理、电源管理、系统安全、内存管理等。例如它可以负责显示驱动、基于Linux的帧缓存驱动、键盘驱动、Flash驱动、摄像头驱动、音频视频驱动、WiFi驱动等。

     2. Android核心类库(Libraries)

Android系统的第二层由核心类库(Libraries)和Android运行时环境(Android Runtime)组成。核心类库包括开源的函数库,如标准的C函数库Libc、OpenSSL、SQLite等。其中WebKit是负责网页浏览器运行的类库,SGL/OpenGL是2D和3D图形与多媒体函数库,分别支持各种影音与图形文件的播放与显示,SQLite提供了轻量级的数据库管理系统。

     3.Android运行时环境(Android Runtime)

Android运行时环境也位于框架第二层,提供了Android特有的Java内核函数库。另外,Android为每个应用程序分配了专有的Davik虚拟机(Android5.0之前使用的是Dalvik,之后使用的是ART,ART与Dalvik最大的区别是,在启动ART模式后,系统在安装应用的时候都会进行一次预编译,在安装应用程序时会先将代码转换为机器语言存储在本地,这样在运行程序的时候就不会每次都进行一次编译了,执行的效率大大提升),可以通过Java语言编写应用程序并在Android平台上同时运行多个Java应用程序。Dalvik虚拟机对有限内存、电池和CPU进行了优化,处理速度更快(相对于JVM来说,ART出来以后就是让它更快),同时拥有可在一个设备上运行多个虚拟机的特性。Dalvik虚拟机运行的.dex格式文件经过优化,占用内存非常小(ART因为要预编译,所有占用内存比Davik要大10%-20%),执行效率非常高。如果想了解ART和Davik的详细区别,大家可以去详细查一下,各位大佬比我讲得清晰。

      4.Android应用程序框架(Application Framework)

Android系统的第三层是应用程序框架,它为应用程序层的开发者提供了用于软件开发的API,由于最上层的应用程序是以Java构建的,因此该层提供的组件包含了用户界面(UI)中所需要的各种控件。相应功能有显示(TextView、button等等)、消息提供(如访问信息、分享信息)、资源管理(如图形、布局文件等)、提示消息(如显示警告消息)等。这一层也是我们开发者要必须熟知的。

     5.Android应用程序层(Applications)

Android系统的最上层是应用程序。Android系统本身已经提供了一些核心的应用程序,如主屏幕、联系人、电话、浏览器、文件管理、相机等(说白了,就是原生Android系统自带的系统应用)。同时开发者还可以使用SDK提供的API开发自己的应用程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值