Android中的.apk之zipalign优化

    对于安卓的开发,谷歌本身也提供了很多的优化的优化工具。今天是无意间看到了zipalign,通过Zipalign可以让你的应用程序运行更快。我就找了一些资料去看他的实现原理。

    我们知道APK其实就是一个Zip压缩文件,从原理上来讲就是通过格式化Zip文件夹中二进制文件的序列,达到提升系统解析速度。就像我们在阅读代码的过程中先格式化一遍代码,会让我们更容易理解其含义一样。在Android平台中,数据文件存储在apk文件中,可以多进程的访问,如果你开发过Win32可能知道程序的粒度对齐问题,不错虽然不是PE格式的文件,在Zip中一样,资源的访问可以通过更好的对其优化,而zipalign使用了4字节的边界对齐方式来影射内存,通过空间换时间的方式提高执行效率。

    我理解的是:通俗的说就是按着有利于系统处理的排列方式,对我们apk中的资源文件进行排列,提高资源的查找速度,从而去提高应用的运行效率。

下面我就演示一下手动进行zipalign优化的流程。

开发环境是Android Studio:

在我们的sdk下找到zipalign.exe;我的目录是\Android\sdk\build-tools\24.0.1

把需要优化的.apk文件复制进来。

此时按着shift键,鼠标右击—–>在此处打开命令窗口—–>zipalign;

便能看到下列信息。

《Android中的.apk之zipalign优化》 zipalign-1

-c  :检查.apk文件是否zipalign优化过

-f  :覆盖已经存在的文件

-p :页面对其存储对象文件

-v :输出优化后的详细信息 xx.apk

-z :将使用Zopfli

zipalign -v 4 source.apk destination.apk 我的

《Android中的.apk之zipalign优化》 zipalign—2

优化后的apk名字为xing.apk

成功之后的会出现如下图所示的提示

《Android中的.apk之zipalign优化》 zipalign-3

    其他的几条命令可以自己尝试一下。处理过后的apk文件,就是我们需要的资源的进行规则后的文件。

    原文作者:邢二创
    原文地址: https://www.jianshu.com/p/c5eafe6b0b5e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞