Android 详解系统架构

1. Android 的发展历史大概是怎样的?

答:

  • 200310 月,Andy Rubin 等人一起创办了 Android 公司。
  • 20058 月,Google 收购了这家仅仅成立了 22 个月的公司。
  • 20089 月,Google 正式发布了 Android 1.0系统。
  • Steve Jobs 自始至终认为 Android 是一个抄袭 iPhone 的产品,里面剽窃了诸多 iPhone 的创意,并声称不惜发动一场“核大战”一定要毁掉 Android
  • Android 操作系统是基于 Linux 开发的,在 2010 年被 Linux 团队Linux 内核主线中除名。
  • Android 中的应用程序都是使用 Java 语言开发的,Oracle 则针对 Android 侵犯 Java 知识产权一事对 Google 提起了高达数十亿美元赔偿的诉讼。
  • Andy RubinGoogle 离职,开始了智能手机领域的创业,乔老爷子在世时说他处处模仿自己。

2. Android 系统架构是怎样的?

答:Android 系统大致可以分为四层架构:Linux 内核层、系统运行库层、应用框架层和应用层

  • Linux 内核层Android 系统是基于 Linux 内核的,这一层为 Android 设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、WifFi 启动、电源管理等。
  • 系统运行库层

    • 这一层通过一些 C/C++来为 Android 系统提供了主要的特性支持。如 SQLite 库提供了数据库的支持,OpenGL/ES 库提供了 3D 绘图的支持,Webkt 库提供了浏览器内核的支持等。
    • 同样在这一层还有 Android 运行时库,它主要提供了一些核心库,能够允许开发者使用 Java 语言来编写 Android 应用。另外,Andorid 运行时库中还包含了 Dalvik 虚拟机(5.0 系统之后改为 ART 运行环境),它使得每一个 Android 应用都能运行在独立的进程当中,并且拥有一个自己的 Dalvik 虚拟机实例。相较于 Java 虚拟机,Dalvik 是专门为移动设备定制的,它针对手机内存、CPU 性能有限等情况做了优化处理
  • 应用框架层:这一层主要提供了构建应用程序时可能用到的各种 APIAndrod 自带的一些核心应用就是使用这些 API 完成的,开发者也可以通过使用这些 API 来构建自己的应用程序。

  • 应用层:所有安装在手机上的应用程序都是属于这一层的,比如系统自带的联系人、短信等程序,或者是从 Google Play 上下载的小游戏,当然还包括开发者自己开发的程序。

3. Android 已发布的版本有哪些?

答:

版本号 系统代号 API 市场占有率
1.5 Cupcake(纸杯蛋糕) 2 0.5%
1.6 Donut(甜甜圈) 4 0.1%
2.0-2.1 Eclair(闪电泡芙) 6 0.15%
2.2 Froyo(冻酸奶) 8 0.2%
2.3.3-2.3.7 Gingerbread(姜味饼干) 10 1.5%
3.0-3.1 Honeycomb(蜂巢) 12 1.2%
4.0.3-4.0.4 Ice Cream Sandwich(冰淇淋三明治) 15 1.3%
4.1.x Jelly Bean (果冻豆) 16 5.6%
4.2.x Jelly Bean (果冻豆) 17 7.7%
4.3.x Jelly Bean (果冻豆) 18 2.3%
4.4 KitKat (奇巧巧克力) 19 27.7%
5.0 Lollipop (棒棒糖) 21 13.1%
5.1 Lollipop (棒棒糖) 22 21.9%
6.0 Marshmallow (棉花糖) 23 18.7%
7.0 Nougat (牛轧糖) 24 0.2%
8.0 Oatmeal cookie(燕麦饼干) 25 0.4%
-------------本文结束感谢您的阅读-------------