Android分包(MultiDex)后编译加速方案,项目加速编译
2017-02-25 15:57
375 查看
原文地址:http://www.jianshu.com/p/660fd0c3e0a6
Android studio 2.2 当中有一项新的功能:Dex In Process. 这项功能可以动态的加快编译速度,以及提高Instant Run 的效率。
那么怎么来使用这项新功能呢?你只需要修改 gradle.properties 这个文件,增加虚拟内存分配给 gradle 从1GB 到 最小 2GB。
1.gif
Android studio 默认分配给 Gradle Daemon 的虚拟内存是 1GB,但是这个完全无法支持 DexInProcess 的需求,因此必须要增大这个到2GB。
Dex in Process 是利用把多个 DEX processes 合并为到一个 VM 中,在 Gradle build 中使用。这就是为什么需要额外的内存来做这件事情。
如果你曾经增大了 javaMaxHeapSize超过1GB,这个是定义 在 module 层级当中的 build.gradle, 那么你必须也要增大分配给 Gradle Daemon 的内存才可以。
2.png
这个是我自己对比的一个数据,可能并不是很科学的对比,但是也可以看出是有很大的提高
只要当前分配的内存空间是足够的,那么Dex in Process 就会默认开启,这个也是 Android Studio 2.2 中提高编译速度而加入的,结果是显而易见的,而且不仅仅是编译速度,包括 Instant Run 也有明显的提高。
还等什么,赶快试试看吧!
加速 Android Studio 的编译速度 可加快分包后编译慢的问题
Android studio 2.2 当中有一项新的功能:Dex In Process. 这项功能可以动态的加快编译速度,以及提高Instant Run 的效率。那么怎么来使用这项新功能呢?你只需要修改 gradle.properties 这个文件,增加虚拟内存分配给 gradle 从1GB 到 最小 2GB。
org.gradle.jvmargs=-Xmx2048m
1.gif
Android studio 默认分配给 Gradle Daemon 的虚拟内存是 1GB,但是这个完全无法支持 DexInProcess 的需求,因此必须要增大这个到2GB。
工作原理
Dex in Process 是利用把多个 DEX processes 合并为到一个 VM 中,在 Gradle build 中使用。这就是为什么需要额外的内存来做这件事情。如果你曾经增大了 javaMaxHeapSize超过1GB,这个是定义 在 module 层级当中的 build.gradle, 那么你必须也要增大分配给 Gradle Daemon 的内存才可以。
2.png
这个是我自己对比的一个数据,可能并不是很科学的对比,但是也可以看出是有很大的提高
只要当前分配的内存空间是足够的,那么Dex in Process 就会默认开启,这个也是 Android Studio 2.2 中提高编译速度而加入的,结果是显而易见的,而且不仅仅是编译速度,包括 Instant Run 也有明显的提高。
还等什么,赶快试试看吧!
相关文章推荐
- Android Freeline加速编译App方案 使用和总结
- Android Freeline加速编译App方案 使用和总结
- Android项目中http数据传输加密问题方案以及NDK编译加密算法
- 使用ccache 加速编译cocos2dx项目 android NDK
- Android分包方案multidex
- Android分包方案multidex
- ant 加快eclipse下android项目编译速度
- NDK编译的文件如何加载到Android项目
- 编译eclips上的android项目,总有小红叉
- Eclipse中编译Android项目工程失败,提示: Error in an XML file: aborting build 解决办法
- Ubuntu下编译AndroidNDK项目报arm-linux-androideabi-gcc:命令未找到
- 如何编译 smspopup---出自Android平台值得关注的开源项目
- 【Android Native Code开发系列】 五 运行、调试编译的Native Code项目
- 用Ant编译Android项目工程
- Ubuntu下编译AndroidNDK项目报arm-linux-androideabi-gcc:命令未找到
- Ubuntu下编译AndroidNDK项目报arm-linux-androideabi-gcc:命令未找到
- Android 源码编译加速 使用ccache
- NDK编译的文件如何加载到Android项目
- NDK编译后的文件如何加载到Android项目
- android导入项目@override编译错误解决方法