这一次的性能改进结果效果也非常明显 (灰色的线条是最初的结果),在全量构建的时候我们又降低了 5.5 秒的时间,而在代码改动的增量构建里时间减少了 50% 以上,资源改动的增量构建与之前的时间相同。
小技巧 3: 禁用 Multiple APK 构建
在应用需要发布和上架的时候,我们往往会使用 “Multiple APK” 构建,它可以根据 ABI 和像素密度创建不同版本的应用,使包体积降低等。但这个在开发阶段似乎显得有些多余,所以我们需要禁用多 APK 构建特性以提高构建速度。
禁用多 APK 构建不能仅仅在 splits 里设置,因为这里的设置对工程里所有的构建变体都是可见的。正确的禁用多 APK 构建的方法是创建一个属性来做判断,这里我们设置了一个名为 “devBuild” 的属性,在构建的过程中把这个值传给 gradle,此时 gradle 会将 splits.abi.enable 和 splits.density.enable 设置为 false,它就不会生成多个 APK 了。

在 Android Studio 里,您可以通过偏好设置,构建、执行和部署分类里,选择编译器选项来为命令行加入参数: -PdevBuild,这样每次在构建的时候 Android Studio 会把这个值传递给 gradle 以避免生成多个 APK。

如上图所示,这是我在禁用了多 APK 之后的效果,各项指标都在继续降低。
当您的应用包含大量本地化资源或者为不同像素密度加入了特别的资源时,您可能需要应用这个小技巧来提高构建速度——最小化开发阶段打包进应用的资源数量。
构建系统默认会将声明过或者使用过的资源全部打包进 APK,但在开发阶段我们可能只用到了其中一套而已,针对这种情况,我们需要使用 resConfigs() 来指定构建开发版本时所需要用到的资源,如语言版本和屏幕像素密度。
这里我们看到了较大程度上的改观,全量构建的时间又降低了 6 秒,增量构建的时间也分别降低了 20% 以上。
(编辑:晋中站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|