志在指尖
用双手敲打未来

入门之系统架构介绍

1.Android体系架构
android分为四个层,从高层到低层分别是运用程序层、运用程序结构层、体系运转库层和linux中心层,如下图所示:
2.application运用程序层
该层供给一些中心运用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人办理等。同时,开发者能够运用Java言语设计和编写归于自己的运用程序,而这些程序与那些中心运用程序彼此相等、友好共处
3.applicationframework运用程序结构层
该层是Android运用开发的根底,供给API给写application运用程序的人调用,常用到的类库如下:
活动办理器(ActivityManager):表明当时显现的界面窗口,用来办理各个运用程序生命周期,为一切程序的窗口供给交互的接口.
窗口办理器(WindowManager):对窗口程序进行办理
内容供给者(ContentProvider):供给一个运用程序拜访另一个运用程序数据的功用,完成运用间同享数据
视图体系(ViewSystem):创立运用所需的组件
包办理器(PackageManager):办理运用装置、卸载,运用版本号、版本名,查询相关权限等功用
电话办理器(TelephonyManager):供给设备电话相关功用
资源办理器(ResourceManager):供给各种非代码资源供运用程序运用,如字符串,颜色,图片,音频等
位置办理器(LocationManager):供给位置服务
告诉办理器(NotificationManager):使运用能够在体系状态栏中显现告诉消息
XMPP服务:Google在线即时沟通软件中一个通用的进程,供给后台推送服务
而四大组件又分为:
activity活动:当时显现的界面窗口,一个Activity一般就是一个独自的屏幕,当然也能够有多个Activity组成.然后上面的控件也能够获取用户事件,来做出相应操作.
service服务:用于后台完成用户操作,首要用于周期性的后台监控和后台服务,比方在后台下载东西
BroadCastReceiver播送接收器:用来接收各处APP宣布的播送,可是大都的播送是体系发起的.比方来电来信等.
ContentProvider内容供给器:经过它能够将自己的数据让一切的运用程序拜访到,比方拜访电话簿联系人,首要用来同享数据Android
4.Libraries体系库
体系库大部分由C/C++编写,供给的功用给Android运用程序结构来调用
5.Androidruntime运转库
包括了CoreLibrary和Dalvik虚拟机.
CoreLibrary:供给JAVA编程言语中心库的大大都功用
Dalvik虚拟机(dvm):每个Java程序都离不开Java虚拟机,Android体系也完成了自己的一个类似JVM可是更合适嵌入式平台的虚拟机——Dalvik。Dalvik的功用等同于JVM,为Android平台上的Java代码供给了运转环境.唯一不同的是dvm履行的是.dex文件,jvm履行的是.class文件.
过程:android程序编译完之后生产.class文件,然后,dex工具会把.class文件处理成.dex文件,然后把资源文件和.dex文件等打包成.apk文件,如下图所示:
dvm的长处在于:基于寄存器存取,而非虚拟栈,能够依据硬件完成最大的优化,比较合适移动设备。
5.1android4.4开端,DVM被替换
因为DVM装置后的APP是字节码,所以每次打开APP的时候,都会去把字节码翻译为机器码,导致APP运转功率下降,用户体验很差.
所以在Android4.4开端,ART(AndroidRuntime)虚拟机发布,用来替换Dalvik虚拟机,Android4.4默许选用DVM,但能够选择ART(如下图所示)。在Android5.0开端默许运用ART,DVM从此被筛选,并且ART支撑64位并兼容32位CPU,而DVM只支撑32位CPU.
ART长处:装置运用程序时会进行一次AOT(aheadoftimecompilation,预编译),将字节码编译成机器码并存储在本地,这样APP每次运转时就不需求履行编译了,APP运转功率大大提高,耗电量也会下降.
ART缺陷:运用程序的装置时间变长,并且装置后的存储空间占用多一些(存储有机器码的原因)
6.linux内核
用来运转运用程序,并包括各种驱动,向运用层供给调用。

未经允许不得转载:IT技术网站 » 入门之系统架构介绍
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载