AndroidStudio中的内存配置

QuibblerQuibbler 2021-04-24 约 5 分钟 4566 次阅读

AndroidStudio中的内存配置

AndroidStudio中的默认内存较低,为了提高性能,需要适当提高一下运行内存。而且随着项目越来越大,配置较大的内存也运行更流畅一些。

1、AndroidStudio运行堆内存

AndroidStudio IDE默认堆内存是1280Mb,对于现在的动辄16G内存的电脑,可以分配更多的内存,以提升AS的运行性能。

有两种方式设置AndroidStudio中的内存。一是通过AndroidStudio设置选项,可参考 用户指南 > 配置 Android Studio">配置 Android Studio。二是配置VM运行参数,详见官网 JVM options">Advanced configuration > JVM options。

1.1、通过设置

File > Settings打开设置,在菜单Appearance & Behavior > System Settings > Memory Settings中修改运行内存选项,默认分配的内存是1280Mb。


AndroidStudio会根据系统生成几个默认的选项,稍微调大内存即可,但是不宜过大(尝试分配8G内存,但是AS根本无法启动)。

这些选项中没有我们想要设置的内存怎么办?可以通过vmoptions配置文件自定义任意数值的运行内存。

1.2、vmoptions配置文件

以64位程序为例,AndroidStudio的配置程序文件名为studio64.exe.vmoptions。这个文件有两份:

一份在AS的安装目录下..\Android Studio\bin\studio64.exe.vmoptions,应用程序自带的默认配置参数,不可修改。

另一个份在系统用户目录下...\Users\AppData\Roaming\Google\AndroidStudio4.1\studio64.exe.vmoptions,默认没有该文件。需要手动创建,有两种方式:

①点击菜单 Help > Edit Custom VM Options 新建或者编辑已有的用户自定义VM Options配置。

②在AndroidStudio各种中文乱码一文中也提到过:在AndroidStudio中双击shift搜索“custom vm options”新建或者编辑已经VM Options配置文件。

修改VM Options配置文件,设置AS最小内存为3600Mb。更多VM可选参数,详见: Vm Options">Oracle > Vm Options。

# custom Android Studio VM options
# see https://developer.android.com/studio/intro/studio-config.html
-Dfile.encoding=UTF-8
-Xmx3600m

重启AS去设置中查看内存,我们自定义的内存数值生效。

2、Gradle堆内存设置

另外还需要对Gradle运行时内存重新设置,因为随着项目越来越大,编译越来越慢,很可能导致AS编译失败,有时会遇到AndroidStudio编译死循环,因为堆内存分配不够,而一直卡在GC。

编译最后只能失败告终,AS无奈的在项目目录下生成几个hprof文件“抗议”,需要更多的内存!

和AS内存设置一样,在菜单Appearance & Behavior > System Settings > Memory Settings中将Gradle和Kotlin守护进程的堆内存增加。

参考资料:

        用户指南 > 配置 Android Studio">Android Studio > 用户指南 > 配置 Android Studio

         Vm Options">Oracle > Vm Options

         JVM options">IntelliJ IDEA Advanced configuration > JVM options

        

相关推荐

精选
国内开源镜像站点
分享

国内开源镜像站点

国内开源镜像站点开源,(Open Source)全称为开放源代码。开源就是要用户利用源代码在其基础上修改和学习的,但开源系统同样也有版权,同样也受到法律保护。国内的高校和一些企业也建立了开源镜像站点,支持开源。从开源站点上面可以下载很多开源资源(Android源码),上大学的时候就在这些镜像网站上下载Linux发行版、Qt等软件。 清华大学:http://mirrors.tuna.tsinghua

2.4k
R8编译问题:Missing classes detected while running R8
分享

R8编译问题:Missing classes detected while running R8

R8编译问题:Missing classes detected while running R8Android R8是一个代码混淆和压缩工具,可以将应用程序的大小和安全性优化。它引入了一些新功能,如成员内省、混淆指针、类内省等。但R8使用起来一直不友好,因为自从使用R8之后编译问题不断。主要还是和混淆相关,经常报错,最近又遇到一个:Missing classes detected while ru

8.4k
maven { url 'https://jitpack.io' } 无法下载的问题
分享

maven { url 'https://jitpack.io' } 无法下载的问题

解决maven { url 'https://jitpack.io' } 无法下载的问题要使用GitHub上项目的开源库,比如 BRV ,加强版的RecyclerView框架:需要在项目根目录的 build.gradle 添加 jitpack 仓库:以上这些都照做了,却遇到Gradle无法下载依赖的问题。这种情况以前也遇到过,一般是由于网络故障引起的,可以用国内的镜像仓库。尝试了不同方法,仍然无法

6.6k