有朋友问我android studio编译为什么那么慢,其实看看编译日志就能发现问题了。
先看编译日志
日志内容如下:
To run dex in process, the Gradle daemon needs a larger heap.
It currently has approximately 910 MB.
For faster builds, increase the maximum heap size for the Gradle daemon to more than 2048 MB.
To do this set org.gradle.jvmargs=-Xmx2048M in the project gradle.properties.
For more information see https://docs.gradle.org/current/userguide/build_environment.html
大概意思是说,想要运行更快,需要设置gradle内存大于2048M更多信息请打开
打开后看到
大概意思说在gradle的home目录,或者project的home目录。我们先在project目录优化
输入一下配置
org.gradle.jvmargs=-Xmx3062m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.daemon=true
具体含义
- org.gradle.jvmargs :JVM 内存管理,存在于堆上。在这里可以理解为Gradle的内存管理
- -Xms : 初始分配的内存由-Xms指定,堆内存。
- -Xmx : 最大分配的内存由-Xmx指定,堆内存。
- -XX:PermSiz:JVM使用-XX:PermSize设置非堆内存初始值
- -XX:MaxPermSize设置最大非堆内存的大小
- org.gradle.daemon=true
- org.gradle.parallel=true
大功告成,当然啦,android studio自身也可以优化一下:
打开android studio目录
配置如下
-Xms512m
-Xmx2048m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-da
-Djna.nosys=true
-Djna.boot.library.path=
-Djna.debug_load=true
-Djna.debug_load.jna=true
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-Didea.paths.selector=AndroidStudio2.1
-Didea.platform.prefix=AndroidStudio
###迫不及待重启下android studio,试试更高速的编译吧。