下载此文档

android开机启动流程分析.docx


文档分类:IT计算机 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
Android 的开机流程
(!F8AECD2A067A6B17!)
系统引导 bootloader
源码:bootable/
Android 应用程序的快速启动是怎样炼成的?
(at)
Android系统框架和上层应用是类java (不是正统的sun java)开发的, 实现了自己的java虚拟机dalvik,既然用java虚拟机和java开发,一般都会 认为效率低下。其实不然,在基本主流的智能手机的软件平台上,android的执 行速度是最快的。
那么 android 效率为什么这么的高呢?特别是一个应用程序的启动时间 很短,本文主要从以下个八方面进行分析:
<!--[if !supportLists]-->1、 <!--[endif]-->资源文件的优化读取。
我们知道android在UI开发时有个很大的好处是xml文件来描述UI,这样 有个好处是只要修改UI不用修改代码就可以修改界面的布局、显示风格和字体 大小等。界面定义变得灵活方便。xml配置UI在qtopia运用也有但是这么强大 并且也不广泛,因为 xml 文件有个不足是解析 xml 的效率很低。
Android 是怎么做的呢?
Android在编译的时候就把xml文件进行了优化,android应用程序在解析 时变得非常的高效。我们看到apk文件解压后会有个优化过的资源文件。
<!--[if !supportLists]-->2、 <!--[endif]-->安装时进行优化 dex 文件
Android 的应用程序都打包成一个 apk 文件,实际上就是一个 zip 文件。系 统第一次起来或应用程序第一次安装时,系统就把 apk 文件解压了,把可执行文 件 dex 优化成 odex 文件并放在 /data/dalvik-cache 目录下。优化后的 dex 文件 启动速度会加快。这解释了为什么 android 系统第一次启动是比较慢,以后起来 很快了。
可能有人会问:为什么不在编译时直接优化呢?第⑤项会回答这个问题。
<!--[if !supportLists]-->3、 <!--[endif]-->制作数据库
Android 的图形应用是加载整个 sd 卡内的所有图像的,但是为什么很快呢? 其实android提前把数据做成了数据库,所以不用每次扫描整个这个sd卡,大 大加快了启动速度。
<!--[if !supportLists]-->4、 <!--[endif]-->高效的虚拟机
Android是基于类java虚拟机dalvik, —般的java虚拟机是基于栈的,而 dalvik是基于寄存器的。实事求是说我对两者的区别了解不是很深入,不过网 上有专门的相关文论进行分析。我的简单理解是栈的实现方式相对容易,相关数 据是在内存中的栈里,而操作寄存器里数据的速度明显快与内存里的数据处理。
<!--[if !supportLists]-->5、<!--[endif]—>充分挖掘 CPU 的性能
Android刚出来的时候虽然支持arm cpu,实际上只支持armv5te的指令集 的,因为a

android开机启动流程分析 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人jiyudian11
  • 文件大小15 KB
  • 时间2022-05-10