现在的位置: 首页 > 综合 > 正文

Android应用程序Zipalign化 — 如何让Android应用程序更有效率的执行

2013年09月07日 ⁄ 综合 ⁄ 共 1001字 ⁄ 字号 评论关闭

    在Android SDK中包含了一个名为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并没有自动完成该步骤。

抱歉!评论已关闭.