Android Studio內(nèi)存大小的設(shè)置

1.顯示內(nèi)存 在設(shè)置中

image.png

設(shè)置完成后,展示出的效果在屏幕右下角,具體是這樣的


image.png

2.修改內(nèi)存
打開Android Studio的安裝目錄,找到虛擬機(jī)的配置文件,進(jìn)行修改,如下:

Windows
編輯安裝目錄下的bin\studio64.exe.vmoptions

macOS Catalina(10.15.4)

$ sudo vim /Applications/Android\ Studio.app/Contents/bin/studio.vmoptions

|

原始內(nèi)容如下:

image

我們需要修改如下參數(shù):

-Xms256m # 最低分配內(nèi)存

-Xmx1280m # 最高分配內(nèi)存

-XX:ReservedCodeCacheSize=240m # 代碼緩存保留空間

-XX:+UseConcMarkSweepGC # GC

|

建議修改成的參數(shù)

-server模式啟動(dòng)時(shí),速度較慢,但是一旦運(yùn)行起來后,性能將會(huì)有很大的提升.原因是:

當(dāng)虛擬機(jī)運(yùn)行在-client模式的時(shí)候,使用的是一個(gè)代號為C1的輕量級編譯器,

而-server模式啟動(dòng)的虛擬機(jī)采用相對重量級,代號為C2的編譯器.

C2比C1編譯器編譯的相對徹底,服務(wù)起來之后,性能更高.

-server # 服務(wù)器模式

-Xms2048m # 最低分配內(nèi)存

-Xmx4096m # 最高分配內(nèi)存

-XX:ReservedCodeCacheSize=1024m # 代碼緩存保留空間

UseConcMarkSweepGC

CMS,全稱Concurrent Low Pause Collector

主要適合場景是對響應(yīng)時(shí)間的重要性需求大于對吞吐量的要求,

能夠承受垃圾回收線程和應(yīng)用線程共享處理器資源,

并且應(yīng)用中存在比較多的長生命周期的對象的應(yīng)用

-XX:+UseParNewGC:設(shè)置年輕代為多線程收集。

可與CMS收集同時(shí)使用。在serial基礎(chǔ)上實(shí)現(xiàn)的多線程收集器。

-XX:+UseParNewGC # GC

|

修改后的結(jié)果 (macOS Catalina(10.15.4)),如下圖:

打開idea.properties文件,找到idea.max.intellisense.filesize,默認(rèn)是2500,改為25000(數(shù)值僅供參考,具體數(shù)值根據(jù)自己文件大小來定)

|
$ sudo vim /Applications/Android\ Studio.app/Contents/bin/idea.properties

|

2. Android Studio 3.6.3設(shè)置自動(dòng)編譯工程

打開Android Studio的設(shè)置,找到如圖所示,打上勾即可。如圖:

image

3. 打開dex增量編譯

在Module的build.gradle中添加如下代碼

|

dexOptions {

// incremental選項(xiàng)已經(jīng)過期,現(xiàn)在已經(jīng)用不到了,默認(rèn)已經(jīng)自動(dòng)啟用

// incremental true

//預(yù)編譯庫文件,如果庫沒有改動(dòng),就不需要更新了

preDexLibraries  =  true

}

|

4. 修改gradle設(shè)置

在Project的gradle.properties中添加

下面注釋掉的兩項(xiàng)在實(shí)際編譯的時(shí)候,不一定能正常,因此我們暫時(shí)不啟用

org.gradle.daemon=true

org.gradle.configureondemand=true

org.gradle.parallel=true

org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

|

5. 使用本地gradle

Android StudioGradle每次編譯的時(shí)候,每次都會(huì)聯(lián)網(wǎng)檢查依賴庫,如果網(wǎng)速比較慢,會(huì)比較耗時(shí)。我們可以暫時(shí)禁用Gradle的聯(lián)網(wǎng)檢查,如下圖:

6. 啟用 Gradle Caching

Gradle Caching 是 Gradle 3.5 的新特性,顧名思義能通過緩存來加速 build 過程。

在 Android Studio 3.0 中更據(jù)此做出了許多優(yōu)化,因此我們可以這樣來啟用:

gradle.properties

Set this in gradle.properties

org.gradle.caching=true

7. 盡可能使用最新版本的 Android Gradle Plugin

Android 的 tool team 一直都在不斷改進(jìn) Android Gradle Plugin,提高構(gòu)建速度。所以第一條是最簡單的,始終使用最新版本的 Android Gradle Plugin。

build.gradle

buildscript  {

    repositories  {

        jcenter()

        google()

    }

    dependencies  {

        classpath  'com.android.tools.build:gradle:3.6.3'

        //  NOTE:  Do not place your application dependencies here;  they belong

        //  in  the individual module build.gradle files

    }

}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容