发布时间:2022-12-05 16:00
亿仁网
发布时间: 18-08-2023:46山西亿仁电子商务官方帐号
Android是基于Linux的开源操作系统,主要用于嵌入式设备,如智能手机、平板电脑、智能电视、车载设备等。它由谷歌公司开发,与iOS、Windows一起作为目前嵌入式设备的三大主要操作系统,其中Android又以绝对优势占据了非常大的份额,根据第三方权威机构统计,它的市场份额约为81%。既然Android有这么大的份额,并且它又是开源的,所以我们非常有必要学习它。
2015年9月30日,谷歌正式推出了Android 6.0版本,代号Marshmallow(棉花糖)。从Android的版本发布可以看出,Android的升级更新比较快,并且有的版本更新变化也非常大,这是它的弊病,也是它的优势,因为升级过程的同时又会引入新的优秀设计。如Android 6.0版本,Android对软件权限做了非常大的改进,它允许用户对应用的权限进行高度管理。在Android 6.0版本之前,一个应用程序实际是不需要相机、通讯录等权限的,但是当这个应用程序安装之后,应用程序就拥有了这些权限,而这时候用户又没有办法去关闭这些权限。在Android 6.0版本中,当应用程序在第一次使用的时候,用户可以根据实际需要来规定应用程序的权限。这个设计非常人性化,因为有的应用程序申请了一些权限之后,它会在后台偷偷做一些工作,如偷跑流量、偷读联系人目录等。Android系统的源代码数量非常庞大,这些代码主要分为4层,从低到高为Linux内核层、系统库层、应用程序框架层和应用程序层,它们分别由驱动工程师、系统工程师、框架工程师和应用程序工程师来开发,而一般来说系统工程师和框架工程师没有严格的区分。图是Android官方网站给出的整个Android系统的框架图。
Android是基于Linux内核的,Linux内核层为Android框架层提供了非常核心的支持,比如Camera驱动、USB驱动、Wi-Fi驱动等。除此之外,Android系统还自己实现了一些重要驱动,比如非常重要的进程间通信Binder驱动。Linux内核层就好比房子的地基一样,只有地基稳固房子才会稳固,Android系统也一样,Linux内核层稳定高效,上层就会运行得更流畅、更高效、更稳定。
系统库层主要包括Android Libraries和Android Runtime。Android Libraries:主要包括SQLite库、Webkit库和OpenGL库等。SQLite库用来支持数据库,Webkit库支持浏览器,OpenGL库支持3D图像。Android Runtime:主要包括一个Core库和Android虚拟机。Core库提供了Java编程语言的功能,而Android虚拟机是用来运行apk程序的。每一个Android应用程序都在它自己的独立进程中运行,都拥有一个独立的虚拟机实例。在Android 4.4以前版本,Android虚拟机是Dalvik,而到了Android 4.4以后的版本,使用了ART虚拟机来代替Dalvik虚拟机。ART虚拟机的优势是它能极大地提高应用程序的启动时间、使程序运行速度更快、电量消耗更少、系统运行更加流畅。