我的系统有8 GB RAM
,i5 Haswell Processor
,2GB Nvidia Graphics card
和512 GB HDD
,我的系统仍然无法处理Android Studio
(稳定和加拿大版本)
这令人沮丧地缓慢并且挂起整个系统。这应该是那样的吗?我是否需要更强大的系统来开发Android应用程序?由于浪费的时间和处理Gradle
的挫败感,它会影响生产力,而我正在考虑完全放弃Android开发。
我有没有办法开发Android应用程序而不会每次都感到沮丧?
修改
有一个类似的问题
Android Studio is slow (how to speed up)?,但我问的是有更新版本的Android Studio,谷歌声称(他们说,每年)已经建立了significant enhancements
以及任何进程。< / p>
2018年5月1日更新 我将系统升级到250 GB SSD,现在Android Studio似乎加载了一个数量级。
答案 0 :(得分:6)
用户回答:https://stackoverflow.com/users/624706/sergii-pechenizkyi
来源:Building and running app via Gradle and Android Studio is slower than via Eclipse
对不起,但是将开发站升级到固态硬盘和大量的内存可能比以下各点的影响更大。
提升构建性能是开发团队的首要任务,因此请确保您使用的是最新的Gradle和Android Gradle Plugin。
在任何适用的目录中创建名为gradle.properties
的文件:
/home/<username>/.gradle/
(Linux)/Users/<username>/.gradle/
(Mac)C:\Users\<username>\.gradle
(Windows)附加:
# IDE (e.g. Android Studio) users:
# Settings specified in this file will override any Gradle settings
# configured through the IDE.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# The Gradle daemon aims to improve the startup and execution time of Gradle.
# When set to true the Gradle daemon is to run the build.
# TODO: disable daemon on CI, since builds should be clean and reliable on servers
org.gradle.daemon=true
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# https://medium.com/google-developers/faster-android-studio-builds-with-dex-in-process-5988ed8aa37e#.krd1mm27v
org.gradle.jvmargs=-Xmx5120m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
org.gradle.parallel=true
# Enables new incubating mode that makes Gradle selective when configuring projects.
# Only relevant projects are configured which results in faster builds for large multi-projects.
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand
org.gradle.configureondemand=true
# Set to true or false to enable or disable the build cache.
# If this parameter is not set, the build cache is disabled by default.
# http://tools.android.com/tech-docs/build-cache
android.enableBuildCache=true
如果将Gradle属性放在projectRoot\gradle.properties
,则将其置于本地,如果将它们置于user_home\.gradle\gradle.properties
,则全局放置。如果您从控制台或直接从想法运行gradle任务,则应用属性:
可以从IDE设置GUI调整Gradle-IntelliJ集成。启用“离线工作”(查看下面yava的回答)将禁用每个“同步gradle文件”上的实际网络请求。
apk构建的最慢步骤之一是将java字节码转换为单个dex文件。启用本机multidex(仅适用于调试版本的minSdk 21)将有助于工具减少工作量(请查看下面Aksel Willgert的答案)。
首选@aar
依赖于库子项目。
在mavenCentral,jCenter上搜索aar包或使用jitpack.io从github构建任何库。如果您不编辑依赖项库的源代码,则不应每次使用项目源构建它。
考虑从防病毒扫描中排除项目和缓存文件。这显然是与安全的权衡(不要在家里试试!)。但是如果你在分支机构之间切换很多,那么防病毒软件会在允许gradle进程使用它之前重新扫描文件,这会减慢构建时间(特别是带有gradle文件和索引任务的AndroidStudio同步项目)。测量构建时间并在启用和未启用防病毒的情况下处理CPU,以查看它是否相关。
Gradle内置了对profiling projects的支持。不同的项目使用插件和自定义脚本的不同组合。使用--profile
将有助于找到瓶颈。