APK Analyzer 为打包到您的 APK 中的每个文件以及每个“目录”的总体大小(包括总数)提供两种大小。这些大小并不表示您在创建 APK 时获得的压缩(APK 格式与 ZIP 兼容,因此您可以使用unzip -lv qqq.apk 来检查此步骤对压缩总数的影响)。
对于最终用户而言,这两种尺寸实际上都很重要。使用更小的下载大小,他们可以更快地获取您的应用程序,并减少数据计划的浪费。 Raw Size 越小,APK 在用户设备上占用的空间就越小。
但有一些小细节需要考虑。我们以原生库为例(如果您的应用使用 NDK)。
首先,考虑应用程序更新。 Google Chrome 团队 found 表示,如果他们不压缩原生库,应用程序更新会变得相当小。如果您将此增益乘以预期的应用更新次数,就会有很大的优势。
其次,如果你不压缩原生库,你实际上可以减少你的应用程序的磁盘消耗(对于 Android Marshmallow 及更高版本),因为这样,库可以加载到 -放置,无需解压到/data/data/your.app.package/lib。
幸运的是,这一切都是通过简单地添加一个属性来管理的:
android:extractNativeLibs="false"
到 AndroidManifest.xml 文件中的 application 标记。
资产也可以考虑相同的事项:AssetManager 可以从 APK 内部加载它们,而无需将它们解压到磁盘 - 如果资产未在 APK 中压缩。 p>
APK Analyzer 将向您展示 Google Play 如何压缩此类资产以供下载。