1.3、配置 Android Studio

文章摘要
1、配置文件路徑
2、自定義配置VM
3、配置最大堆內(nèi)存
4、導(dǎo)出和導(dǎo)入 IDE 設(shè)置
5、自定義 IDE 屬性
6、針對低內(nèi)存機(jī)器配置 IDE
7、針對 Instant Run 配置您的項目
8、設(shè)置 JDK 版本
9、設(shè)置代理設(shè)置


英文文獻(xiàn)

Android Studio 提供諸多向?qū)Ш湍0澹捎糜隍炞C系統(tǒng)要求(例如 Java 開發(fā)工具包 (JDK) 和可用內(nèi)存)和配置默認(rèn)設(shè)置(例如優(yōu)化的默認(rèn) Android Virtual Device (AVD) 模擬和更新的系統(tǒng)映像)。本文件介紹了您可能想要使用的其他配置設(shè)置,以便您自定義對 Android Studio 的使用方式。
Android Studio 通過 Help 菜單提供對兩個配置文件的訪問:

  • studio.vmoptions:自定義 Studio Java 虛擬機(jī) (JVM) 的選項,如堆內(nèi)存和緩存大小。請注意,對于 Linux 機(jī)器,此文件可能命名為 studio64.vmoptions,具體取決于您的 Android Studio 版本。

  • idea.properties:自定義 Android Studio 的屬性,如插件文件夾路徑或最大支持文件大小。

一、查找配置文件

兩個配置文件都存儲在 Android Studio 的配置文件夾中。文件夾名稱取決于 Studio 版本。例如,Android Studio 2.2 的文件夾名稱為 AndroidStudio2.2。此文件夾的位置取決于您的操作系統(tǒng):

Windows:%USERPROFILE%.<CONFIGURATION_FOLDER>/
Mac:~/Library/Preferences/<CONFIGURATION_FOLDER>/
Linux:~/.<CONFIGURATION_FOLDER>/

您也可以使用以下環(huán)境變量指向其他位置的特定替換文件:

STUDIO_VM_OPTIONS:設(shè)置 .vmoptions 文件的名稱和位置
STUDIO_PROPERTIES:設(shè)置 .properties 文件的名稱和位置
STUDIO_JDK:設(shè)置運(yùn)行 Studio 所使用的 JDK

二、自定義 VM 選項

通過 studio.vmoptions 文件,您可以自定義適用于 Android Studio 的 JVM 的選項。為了提高 Studio 的性能,最常用的調(diào)節(jié)選項是最大堆內(nèi)存,但您也可以使用 studio.vmoptions 文件替換其他默認(rèn)設(shè)置,如初始堆內(nèi)存、緩存大小和 Java 垃圾回收開關(guān)。

要新建 studio.vmoptions 文件或打開現(xiàn)有文件,請執(zhí)行以下步驟:

  • 1、點(diǎn)擊 Help > Edit Custom VM Options。如果您之前從未編輯過適用于 Android Studio 的 VM 選項,IDE 將提示您新建一個 studio.vmoptions文件。點(diǎn)擊 Yes 創(chuàng)建文件。
  • 2、此時 studio.vmoptions 文件將在 Android Studio 的編輯器窗口中打開。編輯文件以添加您自己的自定義 VM 選項。如需可自定義 JVM 選項的完整列表,請參閱 Oracle 的 Java HotSpot VM 選項頁

您創(chuàng)建的 studio.vmoptions 文件將添加至默認(rèn) studio.vmoptions 文件,后者位于 Android Studio 安裝文件夾內(nèi)的 bin/ 目錄中。
請注意,切勿直接編輯 Android Studio 程序文件夾的 studio.vmoptions
文件。盡管您可以訪問該文件來查看 Studio 的默認(rèn) VM 選項,但僅編輯自己的 studio.vmoptions 文件可確保您不會替換 Android Studio 的重要默認(rèn)設(shè)置。因此,在您的 studio.vmoptions 文件中,請僅替換您關(guān)注的屬性,使 Android Studio 可以繼續(xù)使用未更改的任何屬性的默認(rèn)值。

三、最大堆內(nèi)存

默認(rèn)情況下,Android Studio 的最大堆內(nèi)存為 1280MB。如果您要處理大項目,或者您的系統(tǒng)有大量 RAM 可用,您可以通過在 Android Studio 的 VM 選項中增加最大堆內(nèi)存來提高性能。如果系統(tǒng)的內(nèi)存有限,您可能希望降低最大堆內(nèi)存。

要更改最大堆內(nèi)存,請執(zhí)行以下步驟:

  • 1、點(diǎn)擊 Help > Edit Custom VM Options 以打開您的 studio.vmoptions 文件。
  • 2、向 studio.vmoptions 文件添加一個行,使用語法 -XmxheapSize 設(shè)置最大堆內(nèi)存。您選擇的大小應(yīng)該基于項目大小以及機(jī)器上的可用 RAM。作為基準(zhǔn),如果您有 4GB 以上的 RAM 和中等大小的項目,則應(yīng)該將最大堆內(nèi)存設(shè)置為 2GB 或更高。以下行可將最大堆內(nèi)存設(shè)置為 2GB:
-Xmx2g
  • 3、保存對 studio.vmoptions 文件所做的更改,然后重新啟動 Android Studio 以使更改生效。
  • 4、要確認(rèn)新的最大堆內(nèi)存,請打開命令行,然后鍵入以下命令:
jps -lvm

您將看到機(jī)器上正在運(yùn)行的工具 JVM 的列表,包括每臺 JVM 的完整包名稱和傳入的參數(shù)。找到與您的 Android Studio 實例對應(yīng)的項。該項應(yīng)該以 -Didea.paths.selector=AndroidStudio[Version] 結(jié)尾。對于此 JVM,您應(yīng)該看到兩個以 -Xmx 開頭的參數(shù):一個采用默認(rèn)值 1280mb,另一個采用新值,如圖 1 所示。

  • 圖 1. 顯示 Android Studio JVM 當(dāng)前參數(shù)的終端輸出。

四、導(dǎo)出和導(dǎo)入 IDE 設(shè)置

您可以導(dǎo)出一個設(shè)置 JAR 文件 (Settings.jar),其中包含項目的所有或部分首選 IDE 設(shè)置。然后,您可以將 JAR 文件導(dǎo)入其他項目和/或使 JAR 文件可供您的同事導(dǎo)入至其項目。

五、自定義 IDE 屬性

通過 idea.properties 文件,您可以自定義 Android Studio 的 IDE 屬性,如用戶安裝插件的路徑以及 IDE 支持的最大文件大小。idea.properties 文件與 IDE 的默認(rèn)屬性合并,以便您可以僅指定替換屬性。

要新建 idea.properties 文件或打開現(xiàn)有文件,請執(zhí)行以下步驟:

  • 1、點(diǎn)擊 Help > Edit Custom Properties。如果您之前從未編輯過 IDE屬性,Android Studio 將提示您新建一個 idea.properties 文件。點(diǎn)擊Yes 創(chuàng)建文件。
  • 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

六、針對低內(nèi)存機(jī)器配置 IDE

如果您正在低于建議規(guī)格(請參閱系統(tǒng)要求)的機(jī)器上運(yùn)行 Android Studio,則可以按如下方式自定義 IDE 以提高機(jī)器性能:

  • 1、減小 Android Studio 可用的最大堆內(nèi)存:將 Android Studio 的最大堆內(nèi)存減小至 512Mb。如需了解有關(guān)更改最大堆內(nèi)存的詳細(xì)信息,請參閱最大堆內(nèi)存

  • 2、更新 Gradle 和適用于 Gradle 的 Android 插件:更新至最新版本的 Gradle 和適用于 Gradle 的 Android 插件,確保您能利用最新的性能改進(jìn)。如需了解有關(guān)更新 Gradle 和適用于 Gradle 的 Android 插件的詳細(xì)信息,請參閱適用于 Gradle 的 Android 插件版本說明

  • 3、啟用節(jié)能模式:啟用節(jié)能模式會關(guān)閉一系列消耗大量內(nèi)存和電池的后臺操作,包括錯誤突出顯示和動態(tài)檢查、自動彈出式代碼完成和自動增量式后臺編譯。要打開節(jié)能模式,請點(diǎn)擊 File > Power Save Mode

  • 4、停用不必要的 lint 檢查:要更改 Android Studio 在您的代碼上運(yùn)行的 lint 檢查,請繼續(xù)執(zhí)行以下操作:

    • 點(diǎn)擊 File > Settings(在 Mac 中,點(diǎn)擊 Android Studio > Preferences)以打開 Settings 對話框。
    • 在左側(cè)窗格中,展開 Editor 部分并點(diǎn)擊 Inspections。
    • 點(diǎn)擊復(fù)選框以選擇或取消選擇項目適用的 lint 檢查。
    • 點(diǎn)擊 Apply 或 OK 以保存所做的更改。
  • 在物理設(shè)備上調(diào)試:在模擬器上調(diào)試使用的內(nèi)存比在物理設(shè)備上調(diào)試使用的內(nèi)存更多,因此您可以通過在物理設(shè)備上調(diào)試來提高 Android Studio 的總體性能。

  • 僅將必要的 Google Play 服務(wù)作為依賴項包括在內(nèi):將 Google Play 服務(wù)作為依賴項包括在項目中可提高必要的內(nèi)存量。僅包括必要的依賴項以提高內(nèi)存利用率和性能。如需了解詳細(xì)信息,請參閱將 Google Play 服務(wù)添加到您的項目

  • 打開 Gradle 的離線模式:如果您的帶寬有限,請打開離線模式,以防 Gradle 在您構(gòu)建期間嘗試下載丟失的依賴項。離線模式打開時,Gradle 會在丟失任何依賴項時發(fā)布構(gòu)建故障,而不會嘗試下載它們。要打開離線模式,請繼續(xù)執(zhí)行以下操作:

    • 點(diǎn)擊 File > Settings(在 Mac 中,點(diǎn)擊 Android Studio > Preferences)以打開 Settings 對話框。
    • 在左側(cè)窗格中,展開 Build, Execution, Deployment,然后點(diǎn)擊 Gradle
    • 在 Global Gradle 設(shè)置下,選中 Offline work 復(fù)選框。
    • 點(diǎn)擊 ApplyOK 以使更改生效。
  • 減小 DEX 文件編譯可用的最大堆內(nèi)存:將用于 DEX 文件編譯的 javaMaxHeapSize 設(shè)置為 200m。如需了解詳細(xì)信息,請參閱通過配置 DEX 資源縮短構(gòu)建時間

  • 不要啟用并行編譯:Android Studio 可以并行編譯獨(dú)立模塊,但如果您具有低內(nèi)存系統(tǒng),則不應(yīng)啟用此功能。要選中此設(shè)置,請繼續(xù)執(zhí)行以下操作:

    • 點(diǎn)擊 File > Settings(在 Mac 中,點(diǎn)擊 Android Studio > Preferences)以打開 Settings 對話框。
    • 在左側(cè)窗格中,展開 Build, Execution, Deployment,然后點(diǎn)擊 Compiler
    • 確保 Compile independent modules in parallel 選項未選中。
    • 如果您進(jìn)行了更改,請點(diǎn)擊 ApplyOK 以使更改生效。

七、針對 Instant Run 配置您的項目

Instant Run 是 RunDebug 命令的行為,可以大幅縮短應(yīng)用更新的間隔時間。盡管首次構(gòu)建可能需要花費(fèi)較長的時間,Instant Run 在向應(yīng)用推送后續(xù)更新時則無需構(gòu)建新的 APK,因此,這樣可以更快地看到更改。
默認(rèn)情況下,Android Studio 會為使用適用于 Gradle 的 Android 插件 2.0.0 及更高版本構(gòu)建的項目啟用 Instant Run。您可以通過修改項目的一些設(shè)置提高使用 Instant Run 的構(gòu)建性能。有關(guān)針對 Instant Run 配置項目的詳細(xì)信息,請參閱針對 Instant Run 配置和優(yōu)化您的項目

八、設(shè)置 JDK 版本

最新 OpenJDK 的副本與 Android Studio 2.2 和更高版本捆綁提供,這是我們建議用于 Android 項目的 JDK 版本。要使用捆綁的 JDK,請繼續(xù)執(zhí)行以下操作:

  • 1、在 Android Studio 中打開您的項目,然后在菜單欄中選擇 File > Project Structure
  • 2、在 SDK Location 頁面中的 JDK location 下方,選中 Use embedded JDK 復(fù)選框。
  • 3、點(diǎn)擊 OK

默認(rèn)情況下,用于編譯項目的 Java 語言版本基于項目的 compileSdkVersion (因為不同 Android 版本支持不同版本的 Java)。如有必要,您可以通過將以下 CompileOptions {} 代碼塊添加到 build.gradle 文件來替換此默認(rèn) Java 版本:

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_6
        targetCompatibility JavaVersion.VERSION_1_6
    }
}

九、設(shè)置代理設(shè)置

代理作為 HTTP 客戶端和 Web 服務(wù)器之間的中間連接點(diǎn),可提高互聯(lián)網(wǎng)連接的安全性和隱私性。

要支持在防火墻后面運(yùn)行 Android Studio,請為 Android Studio IDE 設(shè)置代理設(shè)置。使用 Android Studio IDE HTTP 代理設(shè)置頁面設(shè)置 Android Studio 的 HTTP 代理。

若從命令行或在未安裝 Android Studio 的機(jī)器(例如持續(xù)性集成服務(wù)器)上運(yùn)行適用于 Gradle 的 Android 插件,則應(yīng)在 Gradle 構(gòu)建文件中設(shè)置代理設(shè)置。

注:在初始安裝 Android Studio 程序包后,可以通過互聯(lián)網(wǎng)訪問或脫機(jī)運(yùn)行 Android Studio。但是,Android Studio 設(shè)置向?qū)健⒌谌綆煸L問、訪問遠(yuǎn)程存儲庫、Gradle 初始化和同步以及 Android Studio 版本更新需要互聯(lián)網(wǎng)連接。

9.1、設(shè)置 Android Studio 代理

Android Studio 支持 HTTP 代理設(shè)置,因此您可以在防火墻后面或使用安全網(wǎng)絡(luò)運(yùn)行 Android Studio。要在 Android Studio 中設(shè)置 HTTP 代理,請執(zhí)行以下操作:

  • 1、從菜單欄中點(diǎn)擊 File > Settings(在 Mac 中,點(diǎn)擊 Android Studio > Preferences)。
  • 2、在左側(cè)窗格中,點(diǎn)擊 Appearance & Behavior > System Settings > HTTP Proxy。此時將出現(xiàn) HTTP Proxy 頁面。
  • 3、選擇 Auto-detect proxy settings 以使用自動代理配置 URL 來配置代理設(shè)置,或選擇 Manual proxy configuration 以自行輸入每一項設(shè)置。有關(guān)這些設(shè)置的詳細(xì)說明,請參閱 HTTP 代理
  • 4、點(diǎn)擊 ApplyOK 以使更改生效。
9.2、適用于 Gradle 的 Android 插件 HTTP 代理設(shè)置

若從命令行或在未安裝 Android Studio 的機(jī)器上運(yùn)行 Android 插件,則應(yīng)在 Gradle 構(gòu)建文件中設(shè)置適用于 Gradle 的 Android 插件代理設(shè)置。

對于應(yīng)用程序特定的 HTTP 代理設(shè)置,請根據(jù)各應(yīng)用程序模塊的要求在 build.gradle 文件中設(shè)置代理設(shè)置。

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 代理設(shè)置,請在 gradle/gradle.properties 文件中設(shè)置代理設(shè)置。

# 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

...
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,238評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,430評論 3 415
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,134評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,893評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,653評論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,136評論 1 323
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,212評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,372評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,888評論 1 334
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,738評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,939評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,482評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,179評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,588評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,829評論 1 283
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,610評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,916評論 2 372

推薦閱讀更多精彩內(nèi)容