文章摘要
1、配置文件路径
2、自定义配置VM
3、配置最大堆内存
4、导出和导入 IDE 设置
5、自定义 IDE 属性
6、针对低内存机器配置 IDE
7、针对 Instant Run 配置您的项目
8、设置 JDK 版本
9、设置代理设置
Android Studio 提供诸多向导和模板,可用于验证系统要求(例如 Java 开发工具包 (JDK) 和可用内存)和配置默认设置(例如优化的默认 Android Virtual Device (AVD) 模拟和更新的系统映像)。本文件介绍了您可能想要使用的其他配置设置,以便您自定义对 Android Studio 的使用方式。
Android Studio 通过 Help 菜单提供对两个配置文件的访问:
studio.vmoptions:自定义 Studio Java 虚拟机 (JVM) 的选项,如堆内存和缓存大小。请注意,对于 Linux 机器,此文件可能命名为 studio64.vmoptions,具体取决于您的 Android Studio 版本。
idea.properties:自定义 Android Studio 的属性,如插件文件夹路径或最大支持文件大小。
一、查找配置文件
两个配置文件都存储在 Android Studio 的配置文件夹中。文件夹名称取决于 Studio 版本。例如,Android Studio 2.2 的文件夹名称为 AndroidStudio2.2。此文件夹的位置取决于您的操作系统:
Windows:%USERPROFILE%.<CONFIGURATION_FOLDER>/
Mac:~/Library/Preferences/<CONFIGURATION_FOLDER>/
Linux:~/.<CONFIGURATION_FOLDER>/
您也可以使用以下环境变量指向其他位置的特定替换文件:
STUDIO_VM_OPTIONS:设置 .vmoptions 文件的名称和位置
STUDIO_PROPERTIES:设置 .properties 文件的名称和位置
STUDIO_JDK:设置运行 Studio 所使用的 JDK
二、自定义 VM 选项
通过 studio.vmoptions 文件,您可以自定义适用于 Android Studio 的 JVM 的选项。为了提高 Studio 的性能,最常用的调节选项是最大堆内存,但您也可以使用 studio.vmoptions 文件替换其他默认设置,如初始堆内存、缓存大小和 Java 垃圾回收开关。
要新建 studio.vmoptions 文件或打开现有文件,请执行以下步骤:
- 1、点击 Help > Edit Custom VM Options。如果您之前从未编辑过适用于 Android Studio 的 VM 选项,IDE 将提示您新建一个 studio.vmoptions文件。点击 Yes 创建文件。
- 2、此时 studio.vmoptions 文件将在 Android Studio 的编辑器窗口中打开。编辑文件以添加您自己的自定义 VM 选项。如需可自定义 JVM 选项的完整列表,请参阅 Oracle 的 Java HotSpot VM 选项页。
您创建的 studio.vmoptions 文件将添加至默认 studio.vmoptions 文件,后者位于 Android Studio 安装文件夹内的 bin/ 目录中。
请注意,切勿直接编辑 Android Studio 程序文件夹的 studio.vmoptions
文件。尽管您可以访问该文件来查看 Studio 的默认 VM 选项,但仅编辑自己的 studio.vmoptions 文件可确保您不会替换 Android Studio 的重要默认设置。因此,在您的 studio.vmoptions 文件中,请仅替换您关注的属性,使 Android Studio 可以继续使用未更改的任何属性的默认值。
三、最大堆内存
默认情况下,Android Studio 的最大堆内存为 1280MB。如果您要处理大项目,或者您的系统有大量 RAM 可用,您可以通过在 Android Studio 的 VM 选项中增加最大堆内存来提高性能。如果系统的内存有限,您可能希望降低最大堆内存。
要更改最大堆内存,请执行以下步骤:
- 1、点击 Help > Edit Custom VM Options 以打开您的 studio.vmoptions 文件。
- 2、向 studio.vmoptions 文件添加一个行,使用语法 -XmxheapSize 设置最大堆内存。您选择的大小应该基于项目大小以及机器上的可用 RAM。作为基准,如果您有 4GB 以上的 RAM 和中等大小的项目,则应该将最大堆内存设置为 2GB 或更高。以下行可将最大堆内存设置为 2GB:
-Xmx2g
- 3、保存对 studio.vmoptions 文件所做的更改,然后重新启动 Android Studio 以使更改生效。
- 4、要确认新的最大堆内存,请打开命令行,然后键入以下命令:
jps -lvm
您将看到机器上正在运行的工具 JVM 的列表,包括每台 JVM 的完整包名称和传入的参数。找到与您的 Android Studio 实例对应的项。该项应该以 -Didea.paths.selector=AndroidStudio[Version] 结尾。对于此 JVM,您应该看到两个以 -Xmx 开头的参数:一个采用默认值 1280mb,另一个采用新值,如图 1 所示。
四、导出和导入 IDE 设置
您可以导出一个设置 JAR 文件 (Settings.jar),其中包含项目的所有或部分首选 IDE 设置。然后,您可以将 JAR 文件导入其他项目和/或使 JAR 文件可供您的同事导入至其项目。
五、自定义 IDE 属性
通过 idea.properties 文件,您可以自定义 Android Studio 的 IDE 属性,如用户安装插件的路径以及 IDE 支持的最大文件大小。idea.properties 文件与 IDE 的默认属性合并,以便您可以仅指定替换属性。
要新建 idea.properties 文件或打开现有文件,请执行以下步骤:
- 1、点击 Help > Edit Custom Properties。如果您之前从未编辑过 IDE属性,Android Studio 将提示您新建一个 idea.properties 文件。点击Yes 创建文件。
- 2、此时 idea.properties 文件将在 Android Studio 的编辑器窗口中打开。编辑文件以添加您自己的自定义 IDE 属性。
以下 idea.properties 文件包括通常自定义的 IDE 属性。如需获得属性的完整列表,请参阅 IntelliJ IDEA 的 idea.properties 文件。
#---------------------------------------------------------------------
# Uncomment this option if you want to customize path to user installed plugins folder. Make sure
# you're using forward slashes.
#---------------------------------------------------------------------
# idea.plugins.path=${idea.config.path}/plugins
#---------------------------------------------------------------------
# Maximum file size (kilobytes) IDE should provide code assistance for.
# The larger file is the slower its editor works and higher overall system memory requirements are
# if code assistance is enabled. Remove this property or set to very large number if you need
# code assistance for any files available regardless their size.
#---------------------------------------------------------------------
idea.max.intellisense.filesize=2500
#---------------------------------------------------------------------
# This option controls console cyclic buffer: keeps the console output size not higher than the
# specified buffer size (Kb). Older lines are deleted. In order to disable cycle buffer use
# idea.cycle.buffer.size=disabled
#---------------------------------------------------------------------
idea.cycle.buffer.size=1024
#---------------------------------------------------------------------
# Configure if a special launcher should be used when running processes from within IDE.
# Using Launcher enables "soft exit" and "thread dump" features
#---------------------------------------------------------------------
idea.no.launcher=false
#---------------------------------------------------------------------
# To avoid too long classpath
#---------------------------------------------------------------------
idea.dynamic.classpath=false
#---------------------------------------------------------------------
# There are two possible values of idea.popup.weight property: "heavy" and "medium".
# If you have WM configured as "Focus follows mouse with Auto Raise" then you have to
# set this property to "medium". It prevents problems with popup menus on some
# configurations.
#---------------------------------------------------------------------
idea.popup.weight=heavy
#---------------------------------------------------------------------
# Use default anti-aliasing in system, i.e. override value of
# "Settings|Editor|Appearance|Use anti-aliased font" option. May be useful when using Windows
# Remote Desktop Connection for instance.
#---------------------------------------------------------------------
idea.use.default.antialiasing.in.editor=false
#---------------------------------------------------------------------
# Disabling this property may lead to visual glitches like blinking and fail to repaint
# on certain display adapter cards.
#---------------------------------------------------------------------
sun.java2d.noddraw=true
#---------------------------------------------------------------------
# Removing this property may lead to editor performance degradation under Windows.
#---------------------------------------------------------------------
sun.java2d.d3d=false
#---------------------------------------------------------------------
# Workaround for slow scrolling in JDK6
#---------------------------------------------------------------------
swing.bufferPerWindow=false
#---------------------------------------------------------------------
# Removing this property may lead to editor performance degradation under X Window.
#---------------------------------------------------------------------
sun.java2d.pmoffscreen=false
#---------------------------------------------------------------------
# Workaround to avoid long hangs while accessing clipboard under Mac OS X.
#---------------------------------------------------------------------
# ide.mac.useNativeClipboard=True
#---------------------------------------------------------------------
# Maximum size (kilobytes) IDEA will load for showing past file contents -
# in Show Diff or when calculating Digest Diff
#---------------------------------------------------------------------
# idea.max.vcs.loaded.size.kb=20480
六、针对低内存机器配置 IDE
如果您正在低于建议规格(请参阅系统要求)的机器上运行 Android Studio,则可以按如下方式自定义 IDE 以提高机器性能:
1、减小 Android Studio 可用的最大堆内存:将 Android Studio 的最大堆内存减小至 512Mb。如需了解有关更改最大堆内存的详细信息,请参阅最大堆内存。
2、更新 Gradle 和适用于 Gradle 的 Android 插件:更新至最新版本的 Gradle 和适用于 Gradle 的 Android 插件,确保您能利用最新的性能改进。如需了解有关更新 Gradle 和适用于 Gradle 的 Android 插件的详细信息,请参阅适用于 Gradle 的 Android 插件版本说明。
3、启用节能模式:启用节能模式会关闭一系列消耗大量内存和电池的后台操作,包括错误突出显示和动态检查、自动弹出式代码完成和自动增量式后台编译。要打开节能模式,请点击 File > Power Save Mode。
-
4、停用不必要的 lint 检查:要更改 Android Studio 在您的代码上运行的 lint 检查,请继续执行以下操作:
- 点击 File > Settings(在 Mac 中,点击 Android Studio > Preferences)以打开 Settings 对话框。
- 在左侧窗格中,展开 Editor 部分并点击 Inspections。
- 点击复选框以选择或取消选择项目适用的 lint 检查。
- 点击 Apply 或 OK 以保存所做的更改。
在物理设备上调试:在模拟器上调试使用的内存比在物理设备上调试使用的内存更多,因此您可以通过在物理设备上调试来提高 Android Studio 的总体性能。
仅将必要的 Google Play 服务作为依赖项包括在内:将 Google Play 服务作为依赖项包括在项目中可提高必要的内存量。仅包括必要的依赖项以提高内存利用率和性能。如需了解详细信息,请参阅将 Google Play 服务添加到您的项目。
-
打开 Gradle 的离线模式:如果您的带宽有限,请打开离线模式,以防 Gradle 在您构建期间尝试下载丢失的依赖项。离线模式打开时,Gradle 会在丢失任何依赖项时发布构建故障,而不会尝试下载它们。要打开离线模式,请继续执行以下操作:
- 点击 File > Settings(在 Mac 中,点击 Android Studio > Preferences)以打开 Settings 对话框。
- 在左侧窗格中,展开 Build, Execution, Deployment,然后点击 Gradle。
- 在 Global Gradle 设置下,选中 Offline work 复选框。
- 点击 Apply 或 OK 以使更改生效。
减小 DEX 文件编译可用的最大堆内存:将用于 DEX 文件编译的 javaMaxHeapSize 设置为 200m。如需了解详细信息,请参阅通过配置 DEX 资源缩短构建时间。
-
不要启用并行编译:Android Studio 可以并行编译独立模块,但如果您具有低内存系统,则不应启用此功能。要选中此设置,请继续执行以下操作:
- 点击 File > Settings(在 Mac 中,点击 Android Studio > Preferences)以打开 Settings 对话框。
- 在左侧窗格中,展开 Build, Execution, Deployment,然后点击 Compiler。
- 确保 Compile independent modules in parallel 选项未选中。
- 如果您进行了更改,请点击 Apply 或 OK 以使更改生效。
七、针对 Instant Run 配置您的项目
Instant Run 是 Run 和 Debug 命令的行为,可以大幅缩短应用更新的间隔时间。尽管首次构建可能需要花费较长的时间,Instant Run 在向应用推送后续更新时则无需构建新的 APK,因此,这样可以更快地看到更改。
默认情况下,Android Studio 会为使用适用于 Gradle 的 Android 插件 2.0.0 及更高版本构建的项目启用 Instant Run。您可以通过修改项目的一些设置提高使用 Instant Run 的构建性能。有关针对 Instant Run 配置项目的详细信息,请参阅针对 Instant Run 配置和优化您的项目。
八、设置 JDK 版本
最新 OpenJDK 的副本与 Android Studio 2.2 和更高版本捆绑提供,这是我们建议用于 Android 项目的 JDK 版本。要使用捆绑的 JDK,请继续执行以下操作:
- 1、在 Android Studio 中打开您的项目,然后在菜单栏中选择 File > Project Structure。
- 2、在 SDK Location 页面中的 JDK location 下方,选中 Use embedded JDK 复选框。
- 3、点击 OK。
默认情况下,用于编译项目的 Java 语言版本基于项目的 compileSdkVersion (因为不同 Android 版本支持不同版本的 Java)。如有必要,您可以通过将以下 CompileOptions {} 代码块添加到 build.gradle 文件来替换此默认 Java 版本:
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_6
targetCompatibility JavaVersion.VERSION_1_6
}
}
九、设置代理设置
代理作为 HTTP 客户端和 Web 服务器之间的中间连接点,可提高互联网连接的安全性和隐私性。
要支持在防火墙后面运行 Android Studio,请为 Android Studio IDE 设置代理设置。使用 Android Studio IDE HTTP 代理设置页面设置 Android Studio 的 HTTP 代理。
若从命令行或在未安装 Android Studio 的机器(例如持续性集成服务器)上运行适用于 Gradle 的 Android 插件,则应在 Gradle 构建文件中设置代理设置。
注:在初始安装 Android Studio 程序包后,可以通过互联网访问或脱机运行 Android Studio。但是,Android Studio 设置向导同步、第三方库访问、访问远程存储库、Gradle 初始化和同步以及 Android Studio 版本更新需要互联网连接。
9.1、设置 Android Studio 代理
Android Studio 支持 HTTP 代理设置,因此您可以在防火墙后面或使用安全网络运行 Android Studio。要在 Android Studio 中设置 HTTP 代理,请执行以下操作:
- 1、从菜单栏中点击 File > Settings(在 Mac 中,点击 Android Studio > Preferences)。
- 2、在左侧窗格中,点击 Appearance & Behavior > System Settings > HTTP Proxy。此时将出现 HTTP Proxy 页面。
- 3、选择 Auto-detect proxy settings 以使用自动代理配置 URL 来配置代理设置,或选择 Manual proxy configuration 以自行输入每一项设置。有关这些设置的详细说明,请参阅 HTTP 代理。
- 4、点击 Apply 或 OK 以使更改生效。
9.2、适用于 Gradle 的 Android 插件 HTTP 代理设置
若从命令行或在未安装 Android Studio 的机器上运行 Android 插件,则应在 Gradle 构建文件中设置适用于 Gradle 的 Android 插件代理设置。
对于应用程序特定的 HTTP 代理设置,请根据各应用程序模块的要求在 build.gradle 文件中设置代理设置。
apply plugin: 'com.android.application'
android {
...
defaultConfig {
...
systemProp.http.proxyHost=proxy.company.com
systemProp.http.proxyPort=443
systemProp.http.proxyUser=userid
systemProp.http.proxyPassword=password
systemProp.http.auth.ntlm.domain=domain
}
...
}
对于整个项目的 HTTP 代理设置,请在 gradle/gradle.properties 文件中设置代理设置。
# Project-wide Gradle settings.
...
systemProp.http.proxyHost=proxy.company.com
systemProp.http.proxyPort=443
systemProp.http.proxyUser=username
systemProp.http.proxyPassword=password
systemProp.http.auth.ntlm.domain=domain
systemProp.https.proxyHost=proxy.company.com
systemProp.https.proxyPort=443
systemProp.https.proxyUser=username
systemProp.https.proxyPassword=password
systemProp.https.auth.ntlm.domain=domain
...