加速 Android Studio 的编译速度

ksrt4789 7年前
   <p>Android studio 2.2 当中有一项新的功能:Dex In Process. 这项功能可以动态的加快编译速度,以及提高Instant Run 的效率。</p>    <p>那么怎么来使用这项新功能呢?你只需要修改 gradle.properties 这个文件,增加虚拟内存分配给 gradle 从1GB 到 最小 2GB。</p>    <p>org.gradle.jvmargs=-Xmx2048m</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/3f5b391fbd61c690c5d62d4f4b21a095.gif"></p>    <p style="text-align: center;">1.gif</p>    <p>Android studio 默认分配给 Gradle Daemon 的虚拟内存是 1GB,但是这个完全无法支持 DexInProcess 的需求,因此必须要增大这个到2GB。</p>    <h3><strong>工作原理</strong></h3>    <p>Dex in Process 是利用把多个 DEX processes 合并为到一个 VM 中,在 Gradle build 中使用。这就是为什么需要额外的内存来做这件事情。</p>    <p>如果你曾经增大了 javaMaxHeapSize超过1GB,这个是定义 在 module 层级当中的 build.gradle, 那么你必须也要增大分配给 Gradle Daemon 的内存才可以。</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/d996371cacf8e8ff4564dca33750b125.png"></p>    <p style="text-align: center;">2.png</p>    <p>这个是我自己对比的一个数据,可能并不是很科学的对比,但是也可以看出是有很大的提高</p>    <p>只要当前分配的内存空间是足够的,那么Dex in Process 就会默认开启,这个也是 Android Studio 2.2 中提高编译速度而加入的,结果是显而易见的,而且不仅仅是编译速度,包括 Instant Run 也有明显的提高。</p>    <p>还等什么,赶快试试看吧!</p>    <p> </p>    <p>来自:http://www.jianshu.com/p/660fd0c3e0a6</p>    <p> </p>