Android Studio 提供諸多向導和模板,可用于驗證 Java 開發套件 (JDK) 和可用 RAM 等系統要求,以及配置默認設置,例如經過優化的默認 Android 虛擬設備 (AVD) 模擬和更新的系統映像。本文檔介紹了可用于自定義 Android Studio 使用方式的其他配置設置。
可以通過 Android Studio 的?Help?菜單訪問下面這兩個配置文件:
- studio.vmoptions:自定義 Android Studio 的 Java 虛擬機 (JVM) 選項,例如堆大小和緩存大小。請注意,在 Linux 計算機上,此文件可能會命名為?
studio64.vmoptions
,具體取決于使用的 Android Studio 版本。 - idea.properties:自定義 Android Studio 的屬性,例如插件文件夾路徑或支持的文件大小上限。
如需模擬器和設備的設置及使用方式的相關文檔,請參閱以下主題:
- 創建和管理虛擬設備
- 在硬件設備上運行應用
- 安裝原始設備制造商 (OEM) USB 驅動程序
查找配置文件
兩個配置文件都存儲在 Android 的配置目錄中 Studio。如需查找配置目錄,請參閱?目錄。
注意:如需快速找到配置目錄,請在 Android Studio 中依次前往?Help > Edit Custom VM Options?或?Help > Edit Custom Properties。系統隨即會打開一個配置文件。檢查 來找到配置目錄。
也可以使用以下環境變量指向其他位置的特定替換文件:
STUDIO_VM_OPTIONS
:設置?.vmoptions
?文件的名稱和位置。STUDIO_PROPERTIES
:設置?.properties
?文件的名稱和位置。
可以訪問?Android build 中的 Java 版本,配置要使用的 JDK。
自定義虛擬機選項
通過?studio.vmoptions
?文件,可以自定義 Android Studio 的 JVM 選項。為了提高 Android Studio 的性能,最常用的調節選項是堆大小上限,也可以使用?studio.vmoptions
?文件替換其他默認設置(例如初始堆大小、緩存大小和 Java 垃圾回收開關)。
如需創建新的?studio.vmoptions
?文件或打開現有文件,請執行以下操作:
- 依次點擊?Help?>?Edit Custom VM Options。如果之前從未修改過 Android Studio 的虛擬機選項,Android Studio 將提示新建一個?
studio.vmoptions
?文件。點擊?Create?以創建文件。 studio.vmoptions
?文件會在 Android Studio 的編輯器窗口中打開。修改該文件以添加自己的自定義虛擬機選項。如需可自定義 JVM 選項的完整列表,請參閱 Oracle 的?Java HotSpot 虛擬機選項頁面。
創建的?studio.vmoptions
?文件將添加到默認的?studio.vmoptions
?文件中,后者位于 Android Studio 安裝文件夾內的?bin/
?目錄中。
請勿直接修改 Android Studio 程序文件夾內的?studio.vmoptions
?文件。盡管可以訪問該文件以查看 Android Studio 的默認虛擬機選項,但僅修改自己的?studio.vmoptions
?文件可確保不會替換 Android Studio 的重要默認設置。因此,在的?studio.vmoptions
?文件中,請僅替換關注的屬性,以便 Android Studio 繼續為未更改的所有屬性使用默認值。
堆大小上限
默認情況下,Android Studio 的最大堆大小為 1280MB。如果處理的是大項目,或者的系統有大量 RAM 可用,可以通過增大 Android Studio 進程(例如核心 IDE、Gradle 守護程序和 Kotlin 守護程序)的最大堆大小以提升性能。
Android Studio 會自動檢查可采取的堆大小優化措施,并在檢測到性能可以提升時通知。
如果使用的是 64 位系統并配有不少于 5 GB 的 RAM,還可以手動調整項目的堆大小。若要提交上述請求,請執行以下操作:
- 在菜單欄中依次點擊?File > Settings(或在 macOS 上,依次點擊?Android Studio > Preferences)。
-
依次點擊?Appearance & Behavior > System Settings > Memory Settings。
-
調整堆大小。
-
點擊?Apply。如果更改了 IDE 的堆大小,則必須重啟 Android Studio 才能讓新的內存設置生效。
注意:分配過多內存會降低性能。
導出和導入 IDE 設置
?
可以導出一個?Settings.jar
?文件,其中包含項目的全部或部分首選 IDE 設置。然后,可以將該 JAR 文件導入其他項目,并/或將該 JAR 文件共享給同事,以便他們將其導入到自己的項目中。
如需了解詳情,請參閱 IntelliJ IDEA 中的分享 IDE 設置。
自定義 IDE 屬性
通過?idea.properties
?文件,可以自定義 Android Studio 的 IDE 屬性,例如用戶所安裝插件的路徑,以及 IDE 支持的文件大小上限。idea.properties
?文件會與 IDE 的默認屬性合并,以便僅指定需替換的屬性。
如需創建新的?idea.properties
?文件或打開現有文件,請執行以下操作:
- 依次點擊?Help?>?Edit Custom Properties。如果之前從未修改過 IDE 屬性,Android Studio 將提示新建一個?
idea.properties
?文件。點擊?Yes?以創建文件。 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 the 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 以提升計算機性能:
- 減小 Android Studio 可用的堆大小上限:將 Android Studio 的堆大小上限減小至 512 MB。如需詳細了解如何更改堆大小上限,請參閱堆大小上限。
- 更新 Gradle 和 Android Gradle 插件:更新至最新版本的 Gradle 和 Android Gradle 插件,以確保能利用最新的性能改進。如需詳細了解如何更新 Gradle 和 Android Gradle 插件,請參閱?Android Gradle 插件版本說明。
- 啟用節能模式:啟用節能模式會關閉一系列消耗大量內存和電量的后臺操作,包括錯誤突出顯示和動態檢查、自動彈出式代碼完成和自動增量式后臺編譯。如需開啟節能模式,請依次點擊?File > Power Save Mode。
-
停用不必要的 lint 檢查:如需更改 Android Studio 在的代碼上運行的 lint 檢查,請執行以下操作:
- 依次點擊?File > Settings(在 macOS 上,依次點擊?Android Studio > Preferences)以打開?Settings?對話框。
- 在左側窗格中,展開?Editor?部分,然后點擊?Inspections。
- 點擊相應的復選框以選中或取消選中適合項目的 lint 檢查。
- 點擊?Apply?或?OK?以保存所做的更改。
-
在實體設備上調試:通過在實體設備上調試來提升 Android Studio 的總體性能。在模擬器上調試使用的內存比在實體設備上調試使用的內存更多。
-
僅將必要的 Google Play 服務作為依賴項包含在內:僅將必要的 Google Play 服務作為依賴項包含在項目中。依賴項會增加所需的內存量,因此限制依賴項數量可提高內存利用率和性能。如需了解詳情,請參閱聲明 Google Play 服務的依賴項。
-
減少可用于 Gradle 的堆大小上限:Gradle 的默認堆大小上限為 1,536 MB,可以通過替換?
gradle.properties
?文件中的?org.gradle.jvmargs
?屬性減小此值,如下所示:# Make sure to gradually decrease this value and note # changes in performance. Allocating too little memory can # also decrease performance. org.gradle.jvmargs = -Xmx1536m
-
不要啟用并行編譯:?Android Studio 可以并行編譯獨立模塊,但如果使用的是低內存系統,則不應啟用此功能。如需檢查此設置,請執行以下操作:
- 依次點擊?File > Settings(在 macOS 上,依次點擊?Android Studio > Preferences)以打開?Settings?對話框。
- 在左側窗格中,展開?Build, Execution, Deployment,然后點擊?Compiler。
- 確保?Compile independent modules in parallel?選項未選中。
- 如果進行了更改,請點擊?Apply?或?OK?以使更改生效。
設置代理設置
代理作為 HTTP 客戶端和網絡服務器之間的中間連接點,可提高互聯網連接的安全性和隱私性。
如需支持在防火墻后面運行 Android Studio,請使用 Android Studio IDE HTTP 代理設置頁面設置 HTTP 代理設置。
若從命令行或在未安裝 Android Studio 的計算機(例如持續集成服務器)上運行 Android Gradle 插件,請在 Gradle build 文件中設置代理設置。
注意:在初始安裝 Android Studio 軟件包后,可通過在線或離線的方式運行 Android Studio。然而,Android Studio 需要互聯網連接才能執行設置向導同步、第三方庫訪問、訪問遠程代碼庫、Gradle 初始化和同步以及 Android Studio 版本更新。
設置 Android Studio 代理
Android Studio 支持 HTTP 代理設置,因此可以在防火墻后面或使用安全網絡運行 Android Studio。如需在 Android Studio 中設置 HTTP 代理設置,請執行以下操作:
- 在菜單欄中,依次點擊?File > Settings(在 macOS 上,依次點擊?Android Studio > Preferences)。
- 在左側窗格中,依次點擊?Appearance & Behavior > System Settings > HTTP Proxy。此時將顯示 HTTP Proxy 頁面。
- 選擇?Auto-detect proxy settings?以使用自動代理配置網址配置代理設置,或選擇?Manual proxy configuration?以自行輸入每一項設置。有關這些設置的詳細說明,請參閱?HTTP 代理。
- 點擊?Apply?或 OK?以保存所做的更改。
Android Plugin for Gradle HTTP 代理設置
若從命令行或在未安裝 Android Studio 的計算機上運行 Android 插件,應在 Gradle build 文件中設置 Android Gradle 插件代理設置。
對于特定于應用的 HTTP 代理設置,請根據各應用模塊的要求在?build.gradle
?文件中設置代理設置:
plugins {id 'com.android.application'
}android {...defaultConfig {...systemProp.http.proxyHost=proxy.company.comsystemProp.http.proxyPort=443systemProp.http.proxyUser=useridsystemProp.http.proxyPassword=passwordsystemProp.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=domainsystemProp.https.proxyHost=proxy.company.com
systemProp.https.proxyPort=443
systemProp.https.proxyUser=username
systemProp.https.proxyPassword=password
systemProp.https.auth.ntlm.domain=domain...
如需了解如何使用 Gradle 屬性進行代理設置,請參閱?Gradle 用戶指南。
注意:在使用 Android Studio 時,Android Studio IDE HTTP 代理設置頁面中的設置將替換?
gradle.properties
?文件中的 HTTP 代理設置。
在 Windows 上優化 Android Studio 性能
Windows 上的 Android Studio 性能可能會受多種因素的影響。 本節將介紹如何優化 Android Studio 設置以在 Windows 上獲得最佳性能。
最大限度地降低殺毒軟件對 build 運行速度的影響
某些防病毒軟件會干擾 Android Studio 構建過程,從而導致 build 運行速度明顯變慢。當在 Android Studio 中運行 build 時,Gradle 會編譯應用的資源和源代碼,然后將編譯后的資源打包在一個 APK 或 AAB 文件中。在此流程中,系統會在計算機上創建多個文件。如果的殺毒軟件啟用了實時掃描功能,那么在每次創建一個文件后,殺毒軟件都會掃描該文件,并強制要求暫停 build 流程。
要避免此問題,可以將某些目錄從搜索結果中排除 進行掃描。對于 Windows,Build Analyzer?可幫助確定應從主動掃描中排除的目錄并將其排除。
注意:為了確保的計算機免受惡意軟件的侵擾,不應完全停用實時掃描或殺毒軟件。
以下列表顯示了應從實時掃描中排除的每個 Android Studio 目錄的默認位置:
Gradle 緩存
%USERPROFILE%\.gradle
Android Studio 項目
%USERPROFILE%\AndroidStudioProjects
Android SDK
%USERPROFILE%\AppData\Local\Android\SDK
Android Studio 系統文件
語法:%LOCALAPPDATA%\Google\<product><version>
示例:C:\Users\YourUserName\AppData\Local\Google\AndroidStudio4.1
為組策略受控環境自定義目錄位置
如果組策略會限制可以從計算機中排除實時掃描的目錄,可以將 Android Studio 目錄移至集中式組策略已排除的某個位置。
以下列表顯示了如何自定義每個 Android Studio 目錄的位置,其中?C:\WorkFolder
?是的組策略已排除的目錄:
Gradle 緩存
將?GRADLE_USER_HOME
?環境變量定義為指向C:\WorkFolder\.gradle
。
Android Studio 項目
將項目目錄移到?C:\WorkFolder
?的相應子目錄中或在其中創建項目目錄。例如:?C:\WorkFolder\AndroidStudioProjects
。
Android SDK
若要自定義位置,請執行以下操作:
-
在 Android Studio 中,打開?Settings?對話框(在 macOS 上,打開?Preferences),然后依次轉到?Appearance & Behavior > System Settings > Android SDK。
-
將?Android SDK Location?的值更改為?
C:\WorkFolder\AndroidSDK
。為避免再次下載該 SDK,請確保將默認位于?
%USERPROFILE%\AppData\Local\Android\SDK
?下的現有 SDK 目錄復制到新位置。
Android Studio 系統文件
若要自定義位置,請執行以下操作:
-
在 Android Studio 中,依次點擊?Help > Edit Custom Properties。
Android Studio 會提示創建一個?
idea.properties
?文件(如果尚未創建)。 -
將以下行添加到?
idea.properties
?文件中:idea.system.path=c:/workfolder/studio/caches/trunk-system