Android开发 准备工作-----Android简介

Android背景

Android是基于Linux内核的开源移动端操作系统。Android操作系统最初由Andy Rubin开发,它的底层是使用C/C++实现的,而它的应用层是使用Java/Kotlin实现的。2005年8月Android被Google收购注资。2007年11月,Google以Apache开源许可证的授权方式,发布了Android的源代码。


Android系统平台架构

Android 系统架构图

Android平台架构图

对Android系统架构的简单理解

  1. Linux内核: 涉及底层驱动的及系统服务,比如安全性,内存管理以及进程管理等
  2. Libraries(库) + Android Runtime(Android运行时) :Android给我们提供了一组C/C++库,为平台的不同组件所使用,而Android Runtime则由核心库和运行时虚拟机构成的。 

  3. Application Framework(应用程序框架层) :该层相当于是Android系统给我们提供的API,是我们在程序开发时必须了解的,它是Android系统对Libraries库的C/C++接口进行一层Java的封装。
  4. Application(应用程序层): 我们开发的应用程序就是在这个层次上进行的,包括系统内置应用程序,使用的是Java/Kotlin语言

Android系统的虚拟机

        Android系统的应用层是基于Java开发的,而Java则是基于JVM虚拟机运行的,所以Android系统也需要一个虚拟机作为运行时环境。但Android使用的并不是JVM而是Dalvik或ART。

Dalvik虚拟机

        在Android 4.4 之前,Android系统使用Dalvik虚拟机作为运行时环境,它在Android系统中与JVM相比的优势:

  • Dalvik是寄存器虚拟机,而JVM是堆栈虚拟机,寄存器在内存中有更快的运行速度,并且Android是ARM架构的,拥有更多的寄存器。
  • Dalvik会为每个应用创建一个虚拟机实例,以防止虚拟机崩溃时所有应用死机。
  • 相比.class字节码,运行于Dalvik的.dex字节码会将多个文件整合成一个,减少整体的文件尺寸,I/O操作,也提高了类的查找速度(但类的常量池也会合并)

Dalvik虚拟机的运行流程:

Dalvik的运行流程

 

ART虚拟机

         Android Runtime(缩写为ART),在2013年作为Android 4.4系统中的一项测试功能正式对外发布,Android 5.0开始作为正式的运行时库取代了以往的Dalvik虚拟机。

        ART与Dalvik的区别:ART在安装应用时,就把字节码翻译成了机器码,而Dalvik则是在应用运行时一边翻译一边运行,所以ART安装的应用运行速度快,但占用内存大!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全村姑娘我头最秃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值