首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我要使用未对齐的apks?

为什么我要使用未对齐的apks?
EN

Stack Overflow用户
提问于 2015-11-05 03:51:25
回答 1查看 376关注 0票数 8

当我运行gradle任务"assembleDebug“来获取我放在手机上的调试版本时,它还会生成另一个apk: MyApp- debug -unaligned.apk。

我想我明白拉链的“对齐”是什么意思了。它优化了文件边界的位置,便于解压(如果我错了,请纠正我)。这只是一个优化,实际上与Android没有太多关系。

因此,由于Android将所有应用程序都保留为apks,并且似乎只在运行时解压它们,因此只安装对齐的、优化的apks将是有益的。压缩包似乎也需要很少的时间,但这可能只是因为我的特定应用程序的大小。

在什么情况下,未对齐的压缩比对齐的替代方案更有好处?或者仅仅是因为您必须有一个未对齐的版本来对齐,并且该过程在完成后不会清理未对齐的文件?

EN

回答 1

Stack Overflow用户

发布于 2015-11-05 05:11:37

您将永远不会使用未对齐的APK 。

它是一个中间产品,没有被清理干净。在我看来,它应该是。

它的工作原理:

对齐的作用是将图像和其他大量未压缩的数据放在一个4字节的边界上。这会增加文件大小,但会使它们属于某个页面。它避免了必须为一个图像从APK中提取多个页面(也就是说,它最小化了提取的页面数量)。由于图像开始于4字节的边界,因此我们更有可能不会拾取与其他进程相关的垃圾数据。

这最终允许我浪费更少的RAM,并通过拾取更少的页面来更快地运行。一个微不足道但很好的优化

关于它所花费的时间,这是相对微不足道的,所以它是值得的。显然,您拥有的未压缩数据越多,所需的时间就越长,但这并不是很重要。我想编译器应该丢弃未对齐的文件,但我猜有人想要保留它。

资源:

ZipAlign的发布

http://android-developers.blogspot.com/2009/09/zipalign-easy-optimization.html

当前ZipAlign文档

http://developer.android.com/tools/help/zipalign.html

关于数据结构对齐(阅读关于填充)

https://en.wikipedia.org/wiki/Data_structure_alignment

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33530794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档