网站首页 > 教程分享 正文
如今是互联网爆发的年代,Android、iOS作为两大移动端操作系统,几乎是无人不晓,那么你是否真的知道Android操作系统到底是什么呢,让我们花5分钟来进行一个简单的了解吧。
Android简介
1、起源
Android一词最早出现于法国作家利尔亚当(Auguste Villiers de l’Isle-Adam)在1886年发表的科幻小说《未来夏娃》(L’ève future)中。他将外表像人的机器起名为Android。
Android的Logo是由伊琳娜-布洛克(Irina Blok)设计的,设计灵感来源于男女厕所门上的图形符号,外加头上两根天线。以下图片为男女厕所门上的图形与Android Logo图标。
2、发展
3、版本介绍
从2009年5月开始,Android操作系统改用甜点来作为版本代号,这些版本按照从C大写字母开始的顺序来进行命名:纸杯蛋糕(Cupcake)、甜甜圈(Donut)、闪电泡芙(éclair)、冻酸奶(Froyo)、姜饼(Gingerbread)、蜂巢(Honeycomb)﹑冰淇淋三明治(Ice Cream Sandwich)、果冻豆(Jelly Bean)、奇巧(KitKat)、棒棒糖(Lollipop)、棉花糖(Marshmallow)、牛轧糖(Nougat)、奥利奥(Oreo)、馅饼(Pie)。
不同的版本代号对应不同的API Level,具体见下图汇总
Android系统架构
Android的系统架构由四个部分组成,由底层到上层的顺序分别为Linux Kernel、Android Runtime、Libraries、Application Framework,在此基础之上则是我们在使用手机时直接面向的各类APP,见下图
- Linux Kernel
Android以Linux操作系统内核为基础,借助Linux内核服务实现硬件设备驱动,进程和内存管理,网络协议栈,电源管理,无线通信等核心功能。
Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。
也就是说Android从本质上说也是Linux操作系统的一种,只不过其基于Linux之外对移动端做了更多面向移动的新特性。
- Android Runtime
AndroidRuntime包含核心库和Dalvik虚拟机两部分。
Dalvik虚拟机是基于apache的java虚拟机,并被改进以适应低内存,低处理器速度的移动设备环境。Dalvik虚拟机依赖于Linux内核,实现进程隔离与线程调试管理,安全和异常管理,垃圾回收等重要功能。
我们知道Java自身提供了JVM的虚拟机,而Android则是使用了类似JVM的DVM作为Java虚拟机。
Android4.4之后ART逐渐取代了Dalvik虚拟机,在Dalvik下,应用每次运行的时候,字节码都需要通过即时编译器(just in time ,JIT)转换为机器码,这会拖慢应用的运行效率,而在ART 环境中,应用在第一次安装的时候,字节码就会预先编译成机器码,使其成为真正的本地应用。这个过程叫做预编译(AOT,Ahead-Of-Time)。这样的话,应用的启动(首次)和执行都会变得更加快速,换句话说ART使用了空间来换取时间,所以在新的ART架构下APP的内存占用比Dalvik大了一倍,替换ART后,app的打开速度接近了iOS。
这也是为什么如今仍存在Android 4.4的版本,因为这个版本是Dalvik到ART的一个大的变革。
- Libraries
Libraries是Android的库文件,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(application framework)为开发者使用。主要的系统类库及说明如下表
- Application Framework
Application Framework提供开发Android应用程序所需的一系列类库,使开发人员可以进行快速的应用程序开发,方便重用组件,也可以通过继承实现个性化的扩展。具体包括的模块如下
- Application
有了上面四大模块,我们的开发人员就可以在其基础之上开发各种类型的APP了,包括系统内置应用在内,我们每天在使用的各类型的APP都是基于Application Framework层之上开发而来的,现在大家对我们每天使用的软件由何而来应该有了一个初步的认知了吧。
猜你喜欢
- 2024-10-11 二、Android界面开发(安卓界面开发)
- 2024-10-11 你需要懂的安卓开发的学习流程(安卓开发要学哪些知识)
- 2024-10-11 (干货!)Android Studio开发实战:从零基础到App上线
- 2024-10-11 Android开发上还动不动混淆?这有一份踩坑总结
- 2024-10-11 Android小白福利:开发环境搭建——图文超详细解说
- 2024-10-11 开发一个优秀的Android应用你必须要加入的代码及配置
- 2024-10-11 APP的开发过程详细介绍,长春APP开发公司科普
- 2024-10-11 安卓软件开发(安卓软件开发需要学什么)
- 2024-10-11 01.Android快速开发教程——序章(安卓快速开发平台)
- 2024-10-11 Android应用开发(android应用开发实训报告)
你 发表评论:
欢迎- 最近发表
-
- 有了这份900多页的Android面试指南,你离大厂Offer还远吗?
- K2 Blackpearl 流程平台总体功能介绍:常规流程功能
- 零基础安卓开发起步(一)(安卓开发入门视频)
- 教程:让你的安卓像Windows一样实现程序窗口化运行
- Android事件总线还能怎么玩?(事件总线有什么好处)
- Android 面试被问“谈谈架构”,到底要怎样回答才好?
- Android开发工具Parcel和Serialize
- Android 中Notification的运用(notification widget安卓)
- Android退出所有Activity最优雅的方式
- MT管理器-简单实战-去除启动页(mt管理器怎么去除软件弹窗)
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)