当前位置: 移动技术网 > IT编程>移动开发>Android > Android APK优化工具Zipalign详解

Android APK优化工具Zipalign详解

2019年07月24日  | 移动技术网IT编程  | 我要评论

蒙面歌王江苏卫视,感悟珍珠港阅读答案,27军军长怒砸酒店

      android sdk中包含了一个用于优化apk的新工具zipalign。它提高了优化后的applications与android系统的交互效率(俗话:“要致富先修路”,android小组重新为applications与android系统之间搭建了一条高速公路),从而可以使整个系统的运行速度有了较大的提升。android小组强烈建议开发者在发布新apps之前使用zipalign优化工具,而且对于已经发布但不受限于系统版本的apps,建议用优化后的apk替换现有的版本。

       在下面的内容中将从三个方面介绍zipalign:

       1、zipalign如何优化

       2、如何使用zipalign

       3、使用zipalign的理由

       根据官方文档的描述,android系统中application的数据都保存在它的apk文件中,同时可以被多个进程访问,安装的过程包括如下几个步骤:

       1、installer通过每个apk的manifest文件获取与当前应用程序相关联的permissions信息。

       2、home application读取当前apk的name和icon等信息。

       3、system server将读取一些与application运行相关信息,例如:获取和处理application的notifications请求等。

       4、最后,apk所包含的内容不仅限于当前application所使用,而且可以被其它的application调用,提高系统资源的可复用性。

       zipalign优化的最根本目的是帮助操作系统更高效率的根据请求索引资源,将resource-handling code统一将data structure alignment(数据结构对齐标准:dsa)限定为4-byte boundaries。如果第一次接触有关data structurealignment的内容,强烈建议搜索更多与其相关的内容来充分理解这样做的最终目的,这也是理解zipalign工作原理的关键。 如果不采取对齐的标准,处理器无法准确和快速的在内存地址中定位相关资源。

       目前的系统中使用fallbackmechanism机制处理那些没有应用dsa标准的应用程序,这的确大大的方便了普通开发者无需关注繁琐的内存操作问题。但是相反,对于这样的应用程序将给普通用户带来一定的麻烦,不但影响程序的运行的效率,而且使系统的整体执行效率下降和占用大量不必要的内存资源,甚至消耗一定的电池资源(battery life)。

       在android sdk中提供了三种应用align操作的方法:

       1、使用adt:

       从adt 0.9.3版本开始,可以通过export wizard自动对发布的applicationpackages执行align操作。设置方法:鼠标右键点击project,然后选择”android tools” > “exportsigned application package…”。或者可以直接在androidmanifest.xml中设置。

       2、使用ant:

       对于api level 大于等于4的application packages可以直接通过ant build script来align优化。但对于api level小于4的情况,只能采取手动align优化。

       默认下应用ant build script运行debug packages(api level >= 4)时,将自动执行align优化。

       针对release packages。当使用ant build script执行align优化时,首先需要拥有足够的信息来sign packages。当完成signing之后, 才能执行align优化。通过官方文档了解如何sign packages。

       3、手动执行align优化:

       利用tools文件夹下的zipalign工具。首先调出cmd命令行,然后执行:zipalign -v 4 source.apk androidres.apk。这个方法不受api level的限制,可以对任何版本的apk执行align优化。

       同时可以利用zipalign工具检查当前apk是否已经执行过align优化。命令:zipalign -c -v 4 androidres.apk

       再一次提醒开发者,立刻应用zipalign工具强制优化已经发布的application packages,并让你的用户使用最新的版本。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网