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虚拟机的优势是它能极大地提高应用程序的启动时间、使程序运行速度更快、电量消耗更少、系统运行更加流畅。
一加首款智能手表:圆形表盘支持eSIM独立通话
气密性测试仪,洗衣机进水阀气密性检测密封性检测过程-希立仪器
开关电源的种类与应用方向
英特尔正式发布了全新一代的内存和存储产品
vivox9s真机图曝光:背面刻有业务专用机字样,将同步推出vivox9splus
Android是基于Linux的开源操作系统
苹果此时推出AirPods Max的意义是什么?
无源电子标记定位系统介绍
如何处理SMT贴片加工印刷厚度不良?
FLIR光学气体热像仪的系列产品可用于检测各种气体
华为新版鸿蒙2.0将推出,预计离搭载Harmony OS手机上市很近了
润芯微科技获评江苏省车载智能中央域控系统工程技术研究中心
VR行业搭载上“5G”这双翅膀之后,将会得到怎样的发展?
罗德与施瓦茨推出最高26.5 GHz的新型手持式矢量网络分析仪
实现无传感器、无电刷的电动机控制设计
预估2020年全球晶圆代工产突破近10年高峰
根据内部人员爆料,推断iphone8或重塑苹果的“轻奢”标签
六参数气象传感器的技术参数介绍
探秘2019 RISE科技峰会最受人关注的科技论点
求一种无线BMS解决方案