广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 计算机教程 > 正文

Android的系统构架_惠州Android开发

作者:黄君发布时间:2020-12-21分类:计算机教程浏览:1039


导读:Android 的系统构架分为四层,而这四层又是由五部分组成的。​Android系统架构从下层到上层分别是:Linux内核层、系统运行库层、应用程序框架层和应用程序层。

Android 的系统构架分为四层,而这四层又是由五部分组成的。

Android系统架构从下层到上层分别是:Linux内核层、系统运行库层、应用程序框架层和应用程序层。

Linux内核层

处于最底层的Linux内核层提供了基本的系统功能,例如流程管理、内存管理、设备管理、电源管理等。它还提供许多驱动,例如显示驱动、摄像头驱动、键盘驱动、wifi驱动、内存驱动等。

如果你想从事Android驱动开发,那就应该研究Android的Linux内核。

系统运行库层

这一层大部分都是用C/C++写的。这一层为上层提供它们所需的Java类库和运行环境。如果你是从事Android系统开发的,那就应该研究Android的系统库和Android运行时。

从图中可以看出,系统运行库层可以分成两部分,分别是系统库和Android运行时。

1) 系统库

它是连接应用程序框架层与Linux内核层的重要纽带。Android包含一些 C/C++库,这些库能被 Android 系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。

以下是一些核心库:

WebKit:Android浏览器内核,用来渲染网页。

SQLite:轻量级的关系型数据库,便于存储和共享应用程序数据。

SSL库:负责互联网安全。

多媒体库:支持多种常用的音频、视频格式录制和回放,编码格式包括MPEG4、MP3、H.264、AAC、ARM等。

FreeType: 提供字体的描绘与显示服务。

SGL:底层的2D图形引擎。

Libc:从标准C系统函数库,专门为基于embedded linux的设备定制。

2) Android运行时

Android应用程序都在Android运行时中执行,其运行时分为核心库和Dalvik虚拟机两部分。

核心库提供了Java API中的大多数功能,同时也包含了Android的一些核心API。

Dalvik虚拟机是Google公司自己开发的用于Android平台的Java虚拟机,它适合内存和处理器速度有限的系统。不同于JDK运行 .class 文件,Dalvik虚拟机运行 .Dex 文件(由 .class 转换而来)。

在Android中可以同时运行多个Dalvik实例,并且每个Dalvik应用都是一个独立的Linux进程。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。



很长时间以来,Dalvik虚拟机一直被用户指责为拖慢Android运行速度、不如IOS的根源。不过Google在2014年的I/O大会上推出了Android L,删除了Dalvik,由传闻已久的ART代替,表现更佳。

应用程序框架层

这一部分用Java编写,开发人员可以直接使用其提供的组件来进行快速的应用程序开发。若是从事Android应用程序开发,那应该研究Android的应用框架层和应用程序层。

框架层由多个系统服务组成,应用层的程序时刻都在与这些系统服务打交道。每一次构造窗口、处理用户交互事件、绘制界面、获得当前地理信息,都是在各个系统服务支持下实现的。该层是Android应用开发的基础,开发人员大部分情况是在和它打交道。

应用程序框架层包括:

Activity Manager(活动管理器):管理各个应用程序生命周期。

Window Manager(窗口管理器):管理所有的窗口程序。

Content Provider(内容提供器):使得不同应用程序之间存取或者分享数据。

View System(视图系统): 构建应用程序的基本组件。

Package Manager(包管理器) :Android系统内的程序管理。

Resource Manager(资源管理器):提供应用程序使用的各种非代码资源,如本地化字符串、图片、布局文件、颜色文件等。

Location Manager(位置管理器):提供位置服务。


应用程序框架层提供了许多高级服务的Java类的形式。应用程序开发人员可以通过实例化这些类来调用这些服务。

应用程序层

Android应用层由运行在Android设备上的所有应用程序(APP)共同构成,它不仅包括通话、短信、联系人等系统应用,还包括其他后续安装到设备中的第三方应用。
 
 最后说一下Dalvik和ART的不同。

由于Dalvik被指责为拖慢应用程序运行速度的罪魁祸首,Google 花了两年的时间来开发执行效率更高更省电的ART(Android Runtime),用以代替Dalvik。

ART执行程序的方式与Dalvik完全不同:

Dalvik 在程序运行时依靠一个即时编译器(Just-In-Time,简称JIT)将字节码翻译成机器码,因为多了一个环节,并不是非常高效。

ART 在应用程序安装时就会把字节码转换成机器码,这种机制叫做Ahead-Of-Time,简称 AOT。因为程序运行时没有了解释字节码这一环节,因而启动更快,执行效率更高,触控更加灵敏,体验更加流程。


不过,ART需要更大的内存空间占用,可能会增加10%-20%,而且程序安装速度比Dalvik慢。

还好现在的智能手机ROM都比较大了,不少旗舰级的ROM都到了3G,低端机也有1G了,512M的很少了,ART 以“空间换时间”的做法看似是比较明智的。

Google已经不是第一次使用“空间换时间”的把戏了,例如,大家都知道Chrome浏览器很快很流畅,可是内存占用也多。


标签:惠州北大青鸟惠州JAVA培训惠州IT培训惠州软件培训惠州软件开发惠州安卓培训惠州安卓系统开发惠州Android培训


计算机教程排行
标签列表
网站分类
文章归档
最近发表