码迷,mamicode.com
首页 > 移动开发 > 详细

Video-No.01 Android基础视频教程

时间:2015-02-05 00:51:19      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

1、Android体系结构

技术分享

底层:Linux kernel(linux内核) --> libraries(C封装的对底层linux内核操作库) --> android runtime(android运行时,android dalvik虚拟机以及核心lib包,通过JNI调用C代码操作硬件)--> Application framework(google andriod sdk)--> applications(andriod应用程序代码)

注:Android中的Java代码需要运行在Java虚拟机中,而Java虚拟机通过JNI调用底层C代码操作硬件。Java lib操作google封装的调用底层的C代码

2、Dalvik虚拟机和JVM虚拟机的区别

  •  Dalvik基于寄存器,在虚拟机里面的虚拟CPU中分配了多个寄存器,而JVM基于栈,dalvik直接访问寄存器,而不需要访问堆栈,速度更快

  • JVM编译完成后生成一个个的class字节码文件,在使用的时候加载到内存中。而dalvik编译后将所有class文件转换为一个dex文件,这个文件包含了所有的类。当编译器将java文件编译成class文件后,dalvik虚拟机将class文件重新将class文件编译为dex字节码文件,并删除class文件。常量池保存了所有类中的常量信息。这样减少文件个数i/o操作,提交类查询的速度,引入的常量池等概念,提高查询速度,执行的效率更高

  • dalvik支持在有限的内存中运行多个虚拟机实例,并且每一个dalvik虚拟机应用作为一个独立的linux进程处理,这样防止在某一个虚拟机崩溃导致所有的程序都关闭

Video-No.01 Android基础视频教程

标签:

原文地址:http://my.oschina.net/shma1664/blog/375490

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!