android – gradle v1.x与v2.x之间的巨大Apk区别

前几天我正在检查我正在开发的应用程序中的“应用程序信息”,令我惊讶的是我发现大量的Mb被用作“缓存”(应用程序还没有下载任何内容,它只是一个小样).起初我以为我可能会加入一些重型库(壁画……)所以我决定创建一个空白项目,试图弄清问题是什么.

我尝试过两种情况:棒棒糖前和棒棒糖.有了这个,我发现他们处理“数据”的方式有所不同,但整体apk大小是相同的.虽然在这里,在前棒棒糖(4.4.4)中,棒棒糖中几乎没有“缓存”(FIRST IMAGE)…… 8 mb的“缓存”.

《android – gradle v1.x与v2.x之间的巨大Apk区别》

所有这一切都还不够,因为我在棒棒糖及以上开发的其他应用程序没有那么“缓存”.我开始思考可能会有什么不同,最后我想我找到了一些东西,gradle版本!

《android – gradle v1.x与v2.x之间的巨大Apk区别》

使用gradle 1.5构建的项目具有较小的apk大小,几乎没有“缓存”(棒棒糖和前棒棒糖)
有什么我想念的吗?为什么突然增加“缓存”大小.
使用最新的gradle版本时有什么方法可以避免这种情况吗?

最佳答案 Instant Run提供应用程序的增量块,反映您对代码所做的更改.这些东西仍然需要由您的应用程序加载,所以他们显然将这些信息放在某个位置,被计为“缓存”(getCacheDir()?).

同样,你的应用程序的主APK本身会有点大,因为它必须包含一大块代码,知道如何加载这些动态变化的位.

如果需要测量这些值,请禁用“即时运行”,或运行发布版本(自动为非即时运行).

点赞