当前位置: 首页 > 知识库问答 >
问题:

如何增加Android应用的堆大小?[副本]

戚云
2023-03-14

嗨,我正在android应用程序中执行动画。运行时,我的应用程序崩溃,并获得OutOfMemoryException。错误为,java.lang.OutOfMemoryError:在OOM之前无法分配具有3044192个空闲字节和2MB的9437196字节分配

我试图在我的Manifeant文件中添加largeheap=true语句,但这不是正确的解决方案。所以,请帮助我解决以上问题。谢谢你。

8:05.256 9298-9298/ayurjanaapp.dell.xerces.com.ayurjnanaapp E/AndroidRuntime: FATAL EXCEPTION: main
          Process: ayurjanaapp.dell.xerces.com.ayurjnanaapp, PID: 9298
          java.lang.OutOfMemoryError: Failed to allocate a 9437196 byte allocation with 3044192 free bytes and 2MB until OOM
              at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
              at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
              at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:609)
              at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)
              at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1080)
              at android.content.res.Resources.loadDrawableForCookie(Resources.java:2638)
              at android.content.res.Resources.loadDrawable(Resources.java:2543)
              at android.content.res.TypedArray.getDrawable(TypedArray.java:870)
              at android.widget.ImageView.<init>(ImageView.java:162)
              at android.widget.ImageView.<init>(ImageView.java:150)
              at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:57)
              at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:53)
              at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:106)
              at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1013)
              at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1072)
              at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
              at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:746)
              at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
              at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
              at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
              at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)
              at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
              at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)
              at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
              at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
              at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
              at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
              at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393)
              at android.app.Dialog.setContentView(Dialog.java:512)
              at ayurjanaapp.dell.xerces.com.ayurjnanaapp.AnimationForSubsequentBellsActivity.showBellDialog(AnimationForSubsequentBellsActivity.java:41)
              at ayurjanaapp.dell.xerces.com.ayurjnanaapp.AnimationForSubsequentBellsActivity.onCreate(AnimationForSubsequentBellsActivity.java:31)
              at android.app.Activity.performCreate(Activity.java:6259)
              at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1130)
              at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)
              at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490)
              at android.app.ActivityThread.access$900(ActivityThread.java:154)
              at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354)
              at android.os.Handler.dispatchMessage(Handler.java:102)
              at android.os.Looper.loop(Looper.java:148)
              at android.app.ActivityThread.main(ActivityThread.java:5443)
              at java.lang.reflect.Method.invoke(Native Method)
              at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
  12-05 10:4

共有1个答案

蒋乐意
2023-03-14

我通过在AndroidManifest.xml文件中添加largeheap=“true”解决了我的问题。希望这有帮助。

 类似资料:
  • 我已经使用Android Studio 3个月了,其中一个应用程序已经变得相当大了。程序右下角指示的内存使用量表明,我分配的堆最大值为494M。 当我开始更改XML文件时,内存使用量很快达到上限,IDE崩溃,出现内存不足的错误,如下所示。 我曾尝试使用此方法来增加堆大小,但到目前为止没有任何效果。 我已经看了几十篇文章和其他关于如何增加堆大小的问题,但他们的答案都不起作用。无论我对VMOPTION

  • 问题内容: 谁能解释增加maxpermsize和max堆大小的副作用? 我知道有时遇到内存不足问题时,我们会增加-Xmx。但是我只是想知道在增加-Xmx时是否需要记住任何副作用。增大maxpermsize会如何影响运行时间? 谢谢。 问题答案: 简短答案 将Java堆大小加倍,会使垃圾收集暂停的等待时间增加一倍,而当堆按Gb顺序使用当前的JVM技术时,该等待时间将变为数秒。看来新发布的Java7将

  • 问题内容: 我收到以下错误: 问题答案: 以下是一些可用来更改堆大小的选项。

  • 问题内容: 如何增加Java中的堆大小? 问题答案: 你可以在32位系统上增加到4GB。如果你使用的是64位系统,则可以更高。如果你选择不正确,无需担心,如果你在32位系统上要求5g,则Java会抱怨值无效并退出。 正如其他人发布的那样,使用cmd-line标志-例如 你可以通过键入java -X来获得完整列表(或者无论如何都接近完整列表)。 使用命令行选项可以增加JVM分配的堆大小。这里有3个选

  • 问题内容: 我问了这个问题,以了解如何增加JVM中的运行时调用堆栈大小。我有一个答案,而且我还有很多有用的答案和注释,这些注释和注释与Java如何处理需要大型运行时堆栈的情况有关。我在回答摘要中扩展了我的问题。 最初,我想增加JVM堆栈的大小,以便程序运行时无需安装。 相应的配置设置是具有足够大值的命令行标志。对于TT上面的程序,它可以与OpenJDK的JVM一起工作: 答案之一也指出这些-X…标

  • 问题内容: 我正在尝试在netbeans中的Java中构建将近110000个单词的词典特里。我的代码运行良好,但是给出了如下异常: 我想知道是否有人可以帮助我增加netbeans中的Java堆空间。 问题答案: 您可以在NetBeans的项目属性->运行-> VM选项中进行设置。 右键点击您的项目“ Properties ” 选择“ 运行 ”类别。 在“ VM Options* ”文本框中输入参数