【问题标题】:Android Studio OOM Exception?Android Studio OOM 异常?
【发布时间】:2016-06-05 21:40:53
【问题描述】:

我正在尝试运行一个应用程序,但我不知道它为什么不工作。我在控制台的第一行收到此错误:

java.lang.OutOfMemoryError: Failed to allocate a 498534412 byte allocation with 4194304 free bytes and 331MB until OOM

选择 USB 连接的 Android 或模拟器后,不幸的是,应用程序已停止。

我不知道从这里去哪里。

【问题讨论】:

  • 您的项目中是否有图像/位图?另外,您可以尝试在清单的应用程序标签中添加android:largeHeap="true" 吗?试试看。您可能还会发现 the discussion and the selected answer here helpful - 似乎与您的问题密切相关。
  • @ishmaelMakitla 我实际上有多个 ImageButtons。即使将 largeHeap 添加到清单后,我也会遇到同样的错误
  • @DkgMarine 注意按钮上的图像:如果它们太大,可能会导致应用程序崩溃。要么使它们更小,要么查看一些用于图像的库,或者将它们单独加载到不同的线程中/
  • 在清单中添加大堆不是一个好的解决方案。如果您使用的是BitmapFactory.Options..然后添加options.inSampleSize = 2..您可以查看文档here

标签: java android android-studio out-of-memory


【解决方案1】:

当您尝试在应用中低效加载 Bimap 时会发生这种情况。

您可以进行谷歌搜索并弄脏自己的手,试图弄清楚如何load bitmap efficiently 或简单地让Glide 处理图像的加载和缓存。

【讨论】:

    【解决方案2】:

    查看您的代码,看看您是否在第一个 Activity 中加载了一个巨大的可绘制位图

    【讨论】:

    • 我实际上有多个位图可绘制对象。无论如何要解决这个问题?
    • 这应该是评论,而不是答案。
    • 是的,请在 cmets 中添加这个想法。如果他向我们展示drawables,您可以用代码回答。
    猜你喜欢
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    • 1970-01-01
    • 2019-01-06
    相关资源
    最近更新 更多