发布时间: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虚拟机的优势是它能极大地提高应用程序的启动时间、使程序运行速度更快、电量消耗更少、系统运行更加流畅。
DMSANet: Dual Multi Scale Attention Network
SpringDataJpa的使用之一对一、一对多、多对多 关系映射问题
深度卷积神经网络(AlexNet)与卷积神经网络(LeNet)的区别及其代码实现(可直接复制运行)
全栈测试工程师有用武之地吗?是做什么的?没跨界的通识,连做螺丝钉的资格都没有
我是如何将一个老系统的kafka消费者服务的性能提升近百倍的
SpringBoot整合MyBatis-Plus各种使用点超级详细
CentOS7虚拟机docker部署ruoyi微服务(下-docker部署)
Qt 5.14.2 MinGW 7.3.0/MSVC2017_64编译Oracle驱动笔记
c语言字符串处理的常用库函数总结,c语言字符串操作,及常用函数