Android视频学习笔记---Day1

2017.1.19—-学习Android第一天

Android系统架构

  • 分层的架构:分4层

这里写图片描述

1.application:应用层(Java开发)
该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。

2.application framework:应用框架层(Java+JNI)
该层是Android应用开发的基础,包括活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器和XMPP服务十个部分。在Android平台上,开发人员可以完全访问核心应用程序所使用的API框架。并且,任何一个应用程序都可以发布自身的功能模块,而其他应用程序则可以使用这些已发布的功能模块。基于这样的重用机制,用户就可以方便地替换平台本身的各种应用程序组件。

3.Libraries, Dalvik:函数库&虚拟机层(C/C++)
系统库包括九个子系统:图层管理、媒体库、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。Android运行时包括核心库和Dalvik虚拟机,前者既兼容了大多数Java语言所需要调用的功能函数,又包括了Android的核心库,比如android.os、android.NET、android.media等等。
Dalvik虚拟机主要是完成对生命周期的管理、堆栈的管理、线程的管理、安全和异常的管理以及垃圾回收等重要功能。

4.Linux Kernel:Linux内核驱动层(C)
Android核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也是作为硬件与软件栈的抽象层。
驱动:显示驱动、摄像头驱动、键盘驱动、WiFi驱动、Audio驱动、flash内存驱动、Binder(IPC)驱动、电源管理等。


-两种虚拟机:

  1. JVM:Java虚拟机
    编译后的文件格式:.java–>.class–>.jar
  2. DVM:Dalvik虚拟机
    编译后的文件格式:.java–>.class–>.dex–>.odex

区别:
①基于的架构不同:
jvm是基于栈架构,栈是位于内存上的一个空间,执行指令操作需要向CPU寻址;
dvm是基于寄存器架构,寄存器是CPU的组成部分,执行指令操作无需寻址,直接执行;
②执行文件的格式不同:
jvm执行的是多个.class文件;
dvm执行的是一个.dex文件;


ART模式:Android Runtime

Android4.4以前,安卓手机系统的应用均在dalvik虚拟机上运行,这种运行模式需要依靠一个编译器来实现与应用程序的沟通。应用程序每次运行时都需要将代码转换为机器码才能运行,这样造成了耗电快,占用内存大的现象。

ART:程序在安装时需要预编译读取,将代码转换为机器码。
好处:程序运行时无需转换,运行速度快;
缺点:安装时间稍长,因为要转换成机器码,所占用稍高的内存空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值