android代码名称:版本号版本名中文名API33Android13/AndroidT/Tiramisu/提拉米苏API32S_V2/sv2/SnowCone/刨冰API31Android12/AndroidS/SnowCone/刨冰API30Android11/AndroidR/RedVelvetCake(红丝绒蛋糕)/RVCAPI29Android10/AndroidQ(Android系统将直接被称为Android10,不再使用甜品做代号)APIQandroidQAPI28android9.0Pie馅饼API27android8.1Oreo奥利奥API26android8.0Oreo奥利奥API25android7.1Nougat牛轧糖API24android7.0Nougat牛轧糖API23android6.0Marshmallow棉花糖API22android5.1Lollipop棒棒糖API21android5.0Lollipop棒棒糖API20android4.4WKitKat奇巧巧克力棒API19android4.4KitKat奇巧巧克力棒API18android4.3JellyBean果冻豆API17android4.2JellyBean果冻豆API16android4.1JellyBean果冻豆API15android4.0.3~4.0.4IceCreamSandwich冰淇淋三明治API14android4.0~4.0.2IceCreamSandwich冰淇淋三明治API13android3.2Honeycomb蜂巢API12android3.1Honeycomb蜂巢API11android3.0Honeycomb蜂巢API10android2.3.3~2.3.7Gingerbread姜饼API9android2.3~2.3.2Gingerbread姜饼API8android2.2~2.2.3Froyo冻酸奶API7android2.1Éclair闪电泡芙API6android2.0.1Éclair闪电泡芙API5android2.0Éclair闪电泡芙API4android1.6Donut甜甜圈API3android1.5ICupcake纸杯蛋糕API2android1.1API1android1.0android架构:1、应用程序层就是程序员开发的那一层,就是平常用户用的那些app们。2、应用程序框架就是安卓操作系统所提供的各种API,程序员可以通过调用这些API进行程序开发。a.丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(textboxes),按钮(buttons),甚至可嵌入的web浏览器。b.内容提供器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。c.资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles)。d.通知管理器(NotificationManager)使得应用程序可以在状态栏中显示自定义的提示信息。e.活动管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。3、系统运行库a、程序库Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务。以下是一些核心库:主要包括基本的C库、以及多媒体库以支持各种多媒体格式、位图和矢量字体、2D和3D图形引擎、浏览器、数据库支持。1.Bionic系统C库。2.媒体库,基于PacketVideoOpenCORE。3.SurfaceManager顾名思义,用于管理Surface。4.Webkit,LibWebCore浏览器,基于Webkit引擎。5.SGL底层的2D图形引擎6.3Dlibraries基于OpenGLES1.0APIs实现7.FreeType位图(bitmap)和矢量(vector)字体显示。8.SQLite一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。b、Android运行库Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。(安卓5.0之后改用ART虚拟机)Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中的"dx"工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。4、Linux内核Android的核心系统服务依赖于内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。每个安卓版本API对应的Linux内核版本也都不相同。Linux内核也同时作为硬件和软件栈之间的抽象层。其外还对其做了部分修改,主要涉及两部分修改:a)Binder(IPC):提供有效的进程间通信,虽然linux内核本身已经提供了这些功能,但Android系统很多服务都需要用到该功能,为了某种原因其实现了自己的一套。b)电源管理:为手持设备节省能耗。Android开发语言Java,分为3部分:a)java语言:即其语法,其写代码的程式b)java虚拟机:为了实现一次编译到处可以运行的原则,java在编译连接以后并没有产生目标机器语言,而是采用了Javabytecode这种Java共用指令,这时就需要一个虚拟机来执行改指令。c)库:跟我们常用的C语言一样提供一些常用的库后两者结合就是JavaRuntimeEnvironment。参考文献:https://blog.csdn.net/salary/article/details/82177546参考文献:https://www.cnblogs.com/skynet/archive/2010/04/15/1712924.html参考文献:https://www.cnblogs.com/lijunamneg/archive/2013/01/18/2866953.html
java