Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Android Studio -如何增加分配的堆大小

Android Studio -如何增加分配的堆大小
EN

Stack Overflow用户
提问于 2013-09-10 16:01:19
回答 13查看 224.7K关注 0票数 137

我已经使用Android Studio 3个月了,我在它上面启动的一个应用程序变得相当大。程序右下角的内存使用量显示,我分配的堆的最大内存为494M。

当我开始更改XML文件时,我的内存使用量很快就会达到这个上限,IDE就会崩溃,并显示一个内存不足错误,如下所示。

我试着用这个来增加堆的大小,但是到目前为止还没有效果。

我已经看了几十篇关于如何增加堆大小的文章和其他问题,但他们的答案都不起作用。无论我对VMOPTIONS或IDE设置做什么,堆大小都不会增加。我相信我为VMOPTIONS编辑的文件是正确的,因为如果我故意给它一个无效的命令,Android Studio会抱怨它,并且不能启动。

我使用的是Windows7- 64位,内存为16 64。还有没有人在Android Studio上遇到过这个问题?你能修好它吗?

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2013-09-19 16:31:41

我查看了我的环境变量,有一个名为_JAVA_OPTIONS的系统变量,其值为-Xms256m -Xmx512m,将其更改为-Xms256m -Xmx1024m后,最大堆大小相应地增加了。

票数 52
EN

Stack Overflow用户

发布于 2015-02-26 09:06:45

-编辑

Android Studio2.0及以上版本,您可以通过访问帮助菜单中的“编辑自定义VM选项”来创建/编辑此文件。

-原始答案

打开位于的文件

代码语言:javascript
运行
AI代码解释
复制
/Applications/Android\ Studio.app/Contents/bin/studio.vmoptions

将内容更改为

代码语言:javascript
运行
AI代码解释
复制
-Xms128m
-Xmx4096m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=200m
-XX:+UseCompressedOops

Xmx指定Java Virtual Machine (JVM)的最大内存分配池,而Xms指定初始内存分配池。您的JVM将使用Xms内存量启动,并且将能够使用最大Xmx内存量。

保存studio.vmoptions文件并重新启动Android Studio。

注意:

如果您更改了IDE的堆大小,则必须重新启动Android Studio才能应用新的内存设置。(source)

票数 154
EN

Stack Overflow用户

发布于 2013-12-31 15:10:14

或者,您可以转到android-studio\bin文件夹,在studio.exe.vmoptionsstudio64.exe.vmoptions文件中更改这些-Xmx和-Xms值(取决于您运行的版本)。

票数 47
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18723755

复制
相关文章
更改Android Studio 的log的大小
在File -> Setting 中, 有Override console cycle buffer size可以修改log大小. 建议修改后面加两个0, 100M.
望天
2022/01/08
1.8K0
更改Android Studio 的log的大小
如何增加Ubuntu上的Swap大小?
Swap是Linux系统中的一种虚拟内存,用于在物理内存不足时扩展可用内存。当系统的物理内存不足以满足所有运行进程的需求时,操作系统会将不常用的数据存储在Swap分区中。在某些情况下,可能需要增加Ubuntu系统上的Swap大小,以提供更多的可用内存。本文将详细介绍如何在Ubuntu上增加Swap大小。
网络技术联盟站
2023/07/14
2.2K0
如何增加Ubuntu上的Swap大小?
如何增加Ubuntu上的Swap大小?
Swap是Linux系统中的一种虚拟内存,用于在物理内存不足时扩展可用内存。当系统的物理内存不足以满足所有运行进程的需求时,操作系统会将不常用的数据存储在Swap分区中。在某些情况下,可能需要增加Ubuntu系统上的Swap大小,以提供更多的可用内存。本文将详细介绍如何在Ubuntu上增加Swap大小。
网络技术联盟站
2023/09/05
4.6K0
如何增加Ubuntu上的Swap大小?
堆分配算法
内存空间时的大小却是不一定的,从数个字到数个GB都是有可能的。于是我们必须将堆空间管理起来,将它分块地按照用户需求出售给最终的程序,并且还可以按照一定的方式收回内存。其实这个问题可以归结为:如何管理一大块连续的内存空间,能够按照需求分配、释放其中的空间,这就是堆分配的算法。堆的分配算法有很多种,有很简单的(比如这里要介绍的几种方法),也有些很复杂、适用于某些高性能或者有其他特殊要求的场合.
233333
2019/05/25
1.1K0
JVM堆大小的建议
JVM的堆大小设置是一趟很深的水,既要有对架构高度认识和落地,也要有对语言内部机制深入理解和掌握。 首先,需要对JVM的Heap大小有一个预设和监测,见这篇文章选择合适Java堆大小的五个建议(5 Tips for Proper Java Heap Size) https://dzone.com/articles/5-tips-proper-java-heap-size 其实文中主要普及了一些JVM设置基础知识,强调需要了解的几个知识点和一般经验,也没有给出实战中具体可行的操作办法,其实每个系统是不一样
lyb-geek
2022/03/10
7110
数组大小分配(动态内存分配)
在很多情况下,我们无法确定要使用多大的数组。一般申请大于估计数目的固定大小,这样程序在运行时就申请了固定的大小,你觉得数组定义足够大,但是如果某种原因,数组的个数增大或减小,你又必须重新修改程序,扩大数组的存储范围。这种分配固定大小内存分配的方法称为静态内存分配。但是这种分配方法存在比较严重的缺陷,特别是处理某些问题时,在大多数情况下会浪费大量的内存空间;在少数情况下,当申请的数组不够大时,可能引起下标越界错误,甚至导致严重的后果。 为了解决这个问题,提出了动态内存分配。所谓动态内存分配是指在程序执行的过程中动态地分配或者回收存储空间的内存分配方法。动态分配不像数组等静态内存分配方法需要预先申请内存空间,而是由系统根据程序的需要即时分配,且分配的大小就是程序要求的大小。从以上动、静态内存分配比较可以知道动态内存分配相对于静态内存分配的特点:
海盗船长
2020/08/27
2.7K0
java程序查看堆大小
JVM heap 和Metaspace元空间 demo
名字是乱打的
2022/05/13
1.9K0
java程序查看堆大小
如何在ASP.NetCore增加文件上传大小
从ASP.NET 2.0开始最大请求正文大小限制为30MB (+28.6 MiB)。在正常情况下,无需增加 HTTP 请求 body 的大小。但是,当您尝试上传大型文件 (> 30MB) 时,需要增加默认允许的最大限制。在这篇简短的文章中,我们将了解如何在.netcore 应用程序中增加文件 ASP.NET 大小以及控制此限制的各种选项。
leon公众号精选
2022/04/27
5K0
优化Java堆大小的5个技巧
本文作者Pierre是一名有10多年经验的高级系统架构师,他的主要专业领域是Java EE、中间件和JVM技术。根据他多年的工作实践经验,他发现许多性能问题都是由Java堆容量不足和调优引起的。下面他将和大家分享非常实用的5个Java堆优化技巧。
lyb-geek
2022/03/10
6640
Android如何缩减APK包大小
删 保持良好的编程习惯,不要重复或者不用的代码,谨慎添加libs,移除使用不到的libs。 使用proguard混淆代码,它会对不用的代码做优化,并且混淆后也能够减少安装包的大小。 native code的部分,大多数情况下只需要支持armabi与x86的架构即可。如果非必须,可以考虑拿掉x86的部分。
六月的雨
2022/01/12
8910
Android如何缩减APK包大小
代码 保持良好的编程习惯,不要重复或者不用的代码,谨慎添加libs,移除使用不到的libs。 使用proguard混淆代码,它会对不用的代码做优化,并且混淆后也能够减少安装包的大小。 native code的部分,大多数情况下只需要支持armabi与x86的架构即可。如果非必须,可以考虑拿掉x86的部分。 资源 使用Lint工具查找没有使用到的资源。去除不使用的图片,String,XML等等。 assets目录下的资源请确保没有用不上的文件。 生成APK的时候,aapt工具本身会对png做优化,但是在此之前
六月的雨
2018/05/14
1K0
动态矩阵(指针与堆内存分配)
要求使用指针,结合new方法,动态创建一个二维数组,并求出该矩阵的最小值和最大值,可以使用数组下标法。
叶茂林
2023/07/28
1780
android studio 首字母提示 设置 大小写敏感
在使用android studo 编写程序时, 刚开始,关键字提示 首字母 设置了 大小写敏感,小写字母只能提示小写字母开头的,大写字母只能提示大写字母开始的,比较麻烦,在网上搜了下,解决办法如下。 File---Settings--在搜索框输入code completion --- 把Case senstive completion 设置为None 就可以了!
103style
2022/12/19
1.1K0
android studio 首字母提示 设置 大小写敏感
Ubuntu 怎么增加根目录 \ 大小
电脑因为根目录看见不足,造成开机一直处于登录界面,经过我在终端折腾半天,删除了opt目录等操作,才终于进入xwindows桌面,所以决定增大\目录的大小,文章同步进行,解决成功,发文,解决这个只是时间问题
热心的社会主义接班人
2018/09/30
4.3K0
android studio如何修改包名
使用Android studio有一段时间了,但是每次修改包名的时候都是用一种简单粗暴的方式,那就是新建一个想要的包名,然后直接拖拽。 但是这样有个不好的地方就是每次都要去修改manifest.xml文件。 今天忽然发现了一个简单的方法,下面即将展示: 1.点击如一所示的图标,然后会出现2所示菜单,这个时候注意方框圈住的选项,默认是选中状态,我们把它取消,这时候可以看到工程的文件目录已经发生变化,这个时候变成如下图所示: 这个时候,我们就可以随意的修改包名了,选中想要修改的包名部分目录,Shift +
用户1696846
2018/07/13
1.8K0
android Native堆
Android 应用开发大家都知道可以通过DDMS来查看应用程序进程占用的内存大小;然而Native 内存并不能在虚拟堆上看到;Android系统基于Linux,这样的话其具备Linux的大多数特性;在Linux当中有不少方法可以查看进程占用的内存,可以采用图形界面工具,也可以采用命令,具体如何查看这边就不介绍了。      Android Native 内存查看: 1.首先需要确保你的PC上装了adb工具;不同平台安装相应的版本。 2.adb shell 然后通过ps 命令查看手机上的进程。
xiangzhihong
2018/02/01
1.3K0
驱动开发:内核远程堆分配与销毁
在开始学习内核内存读写篇之前,我们先来实现一个简单的内存分配销毁堆的功能,在内核空间内用户依然可以动态的申请与销毁一段可控的堆空间,一般而言内核中提供了ZwAllocateVirtualMemory这个函数用于专门分配虚拟空间,而与之相对应的则是ZwFreeVirtualMemory此函数则用于销毁堆内存,当我们需要分配内核空间时往往需要切换到对端进程栈上再进行操作,接下来LyShark将从API开始介绍如何运用这两个函数实现内存分配与使用,并以此来作为驱动读写篇的入门知识。
王瑞MVP
2023/10/11
3400
驱动开发:内核远程堆分配与销毁
驱动开发:内核远程堆分配与销毁
在开始学习内核内存读写篇之前,我们先来实现一个简单的内存分配销毁堆的功能,在内核空间内用户依然可以动态的申请与销毁一段可控的堆空间,一般而言内核中提供了ZwAllocateVirtualMemory这个函数用于专门分配虚拟空间,而与之相对应的则是ZwFreeVirtualMemory此函数则用于销毁堆内存,当我们需要分配内核空间时往往需要切换到对端进程栈上再进行操作,接下来LyShark将从API开始介绍如何运用这两个函数实现内存分配与使用,并以此来作为驱动读写篇的入门知识。
王瑞MVP
2023/05/15
2920
驱动开发:内核远程堆分配与销毁
点击加载更多

相似问题

如何增加android应用的堆大小?

51

无法增加Android Studio的内存堆

23

如何在Android中增加堆大小?

16

如何增加Android Studio的内存分配?

25

如何增加Mono for Android应用的堆大小?

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档