AndroidSDK中包含了一个名为Zipalign的工具,它可以用于优化APK程序包。

我们知道APK其实就是一个Zip压缩文件,通过Zipalign可以让你的应用程序运行更快。从原理上来讲就是通过格式化Zip文件夹中二进制文件的序列,达到提升系统解析速度。就像我们在阅读代码的过程中先格式化一遍代码,会让我们更容易理解其含义一样。

在Android平台中,数据文件存储apk文件中,可以多进程的访问,如果你开发过Win32可能知道程序的粒度对齐问题,不错虽然不是PE格式的文件,在Zip中一样,资源的访问可以通过更好的对其优化,而zipalign使用了4字节的边界对齐方式来影射内存,通过空间换时间的方式提高执行效率。

下面来看下 zipalign使用的例子:
zipalign位于android sdk的tools文件夹下面,如果你使用windows操作系统可以通过cmd来执行它:


完整的命令行说明为

E:\android-sdk-windows\tools>zipalign.exe Zip alignment utility
Copyright (C) 2009 The Android Open Source Project

Usage: zipalign [-f] [-v] <align> infile.zip outfile.zip
zipalign -c [-v] <align> infile.zip

<align>: alignment in bytes, e.g. '4' provides 32-bit alignment
-c: check alignment only (does not modify file)
-f: overwrite existing outfile.zip
-v: verbose output


使用方法比较简单 zipalign -v 4 source.apk destination.apk 其中这里-v代表详细输出, 4代表对齐为4个字节,同时-f参数如果添加则会覆盖存在的输出文件

对于是否有效可以通过 zipalign -c -v 4 destination.apk 来查看是否成功的优化了你的apk文件,这里-c参数代表检查对齐,可以看作是只读执行,最后提示大家这步可能会造成文件签名问题,注意和apk签名执行的顺序。

最后在说明一下,此优化是有必要的,最新的Android SDK并没有自动完成该步骤。

更多相关文章

  1. recovery的一些开发点滴
  2. android lib项目注意的事项
  3. android 数据存储之 Files
  4. USB Camera在android车机上应用前景及初试小结
  5. dom读取xml文档---android
  6. Android(安卓)windows系统上安装与使用NDK
  7. android数据存储与访问之使用pull解析器
  8. Java利用TCP协议发送文件(三)--客户端设计
  9. Android(安卓)Studio 使用Gradle引入第三方库文件的总结(Jar文件

随机推荐

  1. Android(安卓)自定义水平进度条的圆角进
  2. Android Studio Error:Cause: org/gradle
  3. 解Android系统的进程间通信原理(二)----RPC
  4. Android(安卓)Display 系统分析
  5. Android主线程里不允许网络操作
  6. Android中常用的布局以及性能你了解多少?
  7. android开源框架源码分析:Okhttp
  8. Calabash Android 简介
  9. Android兼容性问题 -- SparseArray.clone
  10. android SIM卡状态