打包的时候Android xml文件会由字符格式(utf-8编码)转换为二进制格式。具体如:http://blog.csdn.net/jiangwei0910410003/article/details/50568487 

它有android sdk 提供的打包工具aapt 生成二进制文件,类似class格式,前面4个字节为魔数,表示文件格式。

这些XML资源文件之所要从文本格式编译成二进制格式,是因为:
1. 二进制格式的XML文件占用空间更小(这个地方不一定,比如原来的文件是用utf-8编码一个英文字符占1个字节, 编码后使用utf-16编码,一个英文字符占两个字节,文件反而可能变大)。这是由于所有XML元素的标签、属性名称、属性值和内容所涉及到的字符串都会被统一收集到一个字符串资源池中去,并且会去重。有了这个字符串资源池,原来使用字符串的地方就会被替换成一个索引到字符串资源池的整数值,从而可以减少文件的大小。
2. 二进制格式的XML文件解析速度更快。这是由于二进制格式的XML元素里面不再包含有字符串值,因此就避免了进行字符串解析,从而提高速度。
将XML资源文件从文本格式编译成二进制格式解决了空间占用以及解析效率的问题,但是对于Android资源管理框架来说,这只是完成了其中的一部分工作。Android资源管理框架的另外一个重要任务就是要根据资源ID来快速找到对应的资源。


更多相关文章

  1. Android(安卓)Studio配置打包生成自定义文件名
  2. 完美解决 No toolchains found in the NDK toolchains folder fo
  3. Android字节、十进制、十六进制、字符串之间的相互转换
  4. Android报No resource found that matches the given name问题的
  5. 对于各种分辨率手机的测试学习
  6. android 里 thumbdata3 数据格式
  7. Android(安卓)- LayoutAnimation 动画效果 - 示例
  8. 如何获取Android系统时间是24小时制还是12小时制
  9. Android(安卓)APP更新实践 - 完美解决9.0前的各种版本.md

随机推荐

  1. 老罗Android开发视频教程 (android解析xml
  2. android adb shell 命令大全
  3. Android VectorDrawable与SVG
  4. Android中margin和padding的区别
  5. Android学习路线图
  6. android 各种小项目
  7. Android流式布局FlowLayout
  8. Android: Android图形基础
  9. Android学习笔记 - 控件篇
  10. 做Android的感想