【问题标题】:Java outOfMemoryError - increasing java heap space doesn't help (?)Java outOfMemoryError - 增加 Java 堆空间没有帮助(?)
【发布时间】:2016-11-17 16:52:00
【问题描述】:

我正在开发我的第一个安卓游戏。 我在我的项目中使用了 milkman ane。它工作正常,直到新版本(2.1.0)。

所以现在我在包装 apk 上获得了 OutOfMemoryError。这可能是相关的,我使用 flashdevelop IDE。我找到了一些增加 Java 堆空间的解决方案(通过放置参数 -Xms1024M -Xmx1024M)。但他们对我的情况没有帮助。

这是我尝试过的:

1) 给sdk/bin/jvm.config设置参数:无结果

2) 将java参数放入flex sdk的adt.bat中。但它看起来像@java -jar "%~dp0\..\lib\adt.jar" %*。所以这没有帮助。

3) 我发现参数应该设置为“程序文件(x86)/ADT/bin/adt.bat”。但是我的电脑上没有这样的东西。 我的意思是不同的应用程序中有很多 adt.bat 文件,但它们看起来都像第二种解决方案。我找不到 main(?) adt.bat。

4) 我尝试将参数放入 project/bat/packager.bat (调用 adt 的地方),但它会导致包崩溃。 我尝试将参数放在 adt 调用的不同位置,但每次都 - 相同的结果。

5) 我什至添加了 _JAVA_OPTIONS 环境变量。 因为消息“拿起_JAVA_OPTIONS -xmx1024M” 但是……然后还是同样的错误。

我真的需要有人帮助我。我的错在哪里?

【问题讨论】:

  • 让我看看我是否正确:您在应用程序运行或 IDE 创建 apk 以将其安装在设备上时收到异常?
  • 您通常会用完内存,因为代码中存在错误。您能否发布错误的堆栈跟踪以及引发错误的代码?
  • 您应该阅读 this Answer。它可能对你有用。无论如何,当您使用 MilkMan 公司制造的某些 ANE 的较新版本时,您的问题就开始了,所以也许由他们来解决他们 ANE 中的代码问题(他们知道吗?联系他们),或者您回到上一个工作版本ANE...

标签: java android flash flashdevelop ane


【解决方案1】:

这是类似的问题。 https://forums.adobe.com/thread/1047755

将以下行添加到您的 .bash_profile:

export _JAVA_OPTIONS="-Xms1024m -Xmx4096m -XX:MaxPermSize=512m"

重新加载:

$ source ~/.bash_profile

并构建 apk。

我知道你试过_JAVA_OPTIONS,但是-xmx1024M 可能很小。

【讨论】:

    【解决方案2】:

    尝试将此添加到应用程序元素下的清单中:

    android:largeHeap="true"
    

    您可以阅读更多关于它的信息here

    【讨论】:

    • 不,同样的错误。 (据我了解,应该是:....)
    • 如果这不起作用,那么我倾向于认为您的代码中存在一些错误。此外,如果您不再需要 this.finish(),您可能想尝试在您的活动中调用它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-25
    • 2013-08-08
    • 1970-01-01
    • 2011-03-25
    • 1970-01-01
    相关资源
    最近更新 更多