[英]Android Studio using 100% CPU on an i7 processor for project Rebuild
我的Windows 7机器有一个四核i7处理器。 当我重建我的项目时,平均需要25秒。 当我启动应用程序时,平均需要36秒(在应用程序上传到设备之前)。
我的项目的/ src文件夹中有588个文件,其中包含我的所有java和xml代码。 我的/ libs文件夹中有两个.so库,每个5MB和7个罐子。
请参阅我附带的截图。 正如您所看到的,我的CPU在整个时间内都达到了100%。 我的iTunes音乐暂停,我在Windows任务栏的右下角出现“性能不佳”弹出窗口。 那真是太糟糕了。
我正在使用Android Studio 1.2.1.1
大部分时间都是在preDex和dex操作期间花费的。
这是我到目前为止所尝试的内容(另外,我没有一起尝试过):
什么都没有奏效。 我无法想象这是一个常见的问题,对吗? 我是不是因为这真的比Eclipse慢得多?
我想我的问题是:
我真的很喜欢吸管,所以如果有人有任何信息,特别是为什么dex操作占用了这么多的CPU,这将是非常棒的。
我想不用说,如果我编辑XML文件,进行重建,然后启动应用程序,就会发生这种情况。 如果没有什么可以清理和重建......当我做一个Make Project时......平均构建时间是3秒。
以下是我能够做出的三项改进:
我每次构建项目时都会预先解析我的JAR,所以我找到了这个解决方案:
dexOptions {
preDexLibraries = false
}
我使用的是整个Google Play服务库:
compile('com.google.android.gms:play-services:+') {
exclude module: 'support-v4'
}
我只需要Google Cloud Messenger:
compile('com.google.android.gms:play-services-gcm:+') {
exclude module: 'support-v4'
}
在Eclipse中,我总是会进行重建,然后使用播放按钮启动应用程序。 在Android Studio中,现在我只是做一个Clean,然后使用播放按钮启动应用程序。 Android Studio中的“运行”按钮在“清理”之后每次都不起作用。 由于没有发生任何事情,这导致了似乎延迟的事情。 所以现在我打开Gradle控制台以确保运行按钮正常工作,当它不工作时我只是第二次点击它。
我曾经拥有的:
Rebuild: 26 seconds
Launch: 36 seconds
Install: 15 seconds
现在:
Clean: 8 seconds
Launch: 22 seconds
Install: 15 seconds
这是一个重大改进! 希望这有助于其他人。
除了特定于Gradle的优化(见下文)之外,我建议您尝试为Gradle缓存目录和Android Studio项目目录禁用防病毒保护。 对我来说,这使我的构建时间缩短了大约50%。 从Windows搜索索引中排除那些相同的目录也可以提供帮助。
我使用的Gradle优化,在〜/ .gradle / gradle.properties中。
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx6144m <-- Tweak this based on available RAM
org.gradle.caching=true
org.gradle.parallel=true
kotlin.incremental=true
请注意,启用缓存意味着您有时必须在切换分支时明确清除缓存。 当我遇到令人困惑的构建问题时,我运行此脚本。
#!/bin/bash
# Clean Android cache
./gradlew cleanBuildCache
# Clean Gradle cache, prompting for each directory
find ~/.gradle/caches -maxdepth 1 -name build-cache* -print -exec rm -rfI {} \;
# Clean Project
./gradlew clean
# Stop Gradle Daemon
./gradlew --stop
说实话,由于UI设计师的缘故,Android Studio比Eclipse更好。 缺点是它使用gradle而不是Ant。 Gradle也更好但速度更慢 - 特别是在Windows上。 它在Linux上运行得更好。 如果您之前没有使用过Linux,请不要担心。 Linux Mint是一个稳定的操作系统,其UI与Windows类似。 你很快就会在家里。 它消耗的资源更少,因此为gradle构建留下了更多的处理能力。 进行切换。 你永远不会回去。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.