Android操作系统共分四层,采用层叠式结构。
1,Android的四层架构图
1)applicaitons :应用程序层(其实就是我们要开发的应用软件)
2)application framework :应用框架层(框架就是jar包,api层)
这是学习重点,实现接口。学习Android就是学习Android的api。
3)第三层:
1)libraries:(库 c库) 都是c代码的开源框架。
2)android runtime : dalvik vm (达尔维克虚拟机) 每一个Android应用程序都是运行在该虚拟机里面。(Android运行时环境)
4)linux kernel: 全是硬件驱动。 是android工程师添加的(原生的linux内核没有)。进程间通讯驱动(应用之间的通信)。 将来研究底层芯片用。
2,Android里面的核心应用。
Home(桌面)(launcher:启动器) Contacts (联系人) phone(电话) browser (浏览器)
dalvik虚拟机和jvm的区别?
1 为什么Android不使用jvm虚拟机 而要使用一个dalvik vm?
jvm 为pc机而设计,不是移动设备。
2 区别:
1)两种虚拟机识别的文件不同 (虚拟机把就把字节码编程成机器码)
jvm: .class 文件----> (压缩文件很多.class成)---> .jar (压缩文件很多.class)
dalvik vm: .class 文件----> (压缩文件很多.class成)---> .dex文件:只是一个文件,一次加载所有的内容 。 --->odex(优化)
2)架构不同:基于栈的架构 基于寄存器的架构。
jvm:基于堆栈(内存条)
dalvik vm:基于寄存器(cpu)特点:速度快, 功耗低。
art模式与dalvik vm的区别:
Android runtime:android 4.4才开始有的。
在应用程序安装的时候,就把.dex文件编译成为Android系统所能识别的文件。
android系统设计是不好的(所以很卡 很慢)。
Android5.0 使用的就是art模式 现在很火。
使用内核:
ios --> android(linux要优于unix)
unix --> linux