gpt4 book ai didi

android - 为什么我会使用未对齐的 apk?

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:57:55 25 4
gpt4 key购买 nike

当我运行 gradle 任务“assembleDebug”只是为了获得调试版本时,我把它放在我的手机上,它还会生成另一个 apk:MyApp-debug-unaligned.apk。

我想我理解 zip 的“对齐”是什么意思。它优化了文件边界的放置以便于解压缩(如果我错了请纠正我)。这只是一种优化,实际上与 Android 没有太大关系。

因此,由于 Android 将所有应用程序保留为 apk,并且似乎只在运行时解压缩它们,因此只安装对齐的、优化的 apk 会更有好处。对包进行 zip 对齐也花费了看似微不足道的时间,但这可能只是因为我的特定应用程序的大小。

什么时候未对齐的 zip 比对齐的替代方案更有利?还是仅仅是因为您必须有一个未对齐的版本才能对齐,并且该过程在完成后不会清理未对齐的文件?

最佳答案

绝不会使用未对齐的 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

关于android - 为什么我会使用未对齐的 apk?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33530794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com