Android Studio 编译占 cpu99%、100%、编译超慢、卡断问题分析

7,450 阅读1分钟
原文链接: blog.csdn.net

有朋友问我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 docs.gradle.org/current/use…

大概意思是说,想要运行更快,需要设置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,试试更高速的编译吧。