如何在我的 Android 应用程序中更改(线程的)堆栈大小?

How can I change the stack size (of a thread) in my Android Application?

我的服务中出现 Whosebug 错误,该错误附加到我的主服务 activity。有没有办法在我的服务中更改堆栈大小?我遇到了 Xss 参数,但是,显然它在 vm 选项(帮助-> 编辑 vmoptions)中不可用。

一些背景知识: 当我尝试读取代码中的序列化机器学习模型然后反序列化时出现错误。当这个模型建立在一个小数据集上时,相同的功能工作正常,但当我用更大的数据集建立相同的模型时不起作用。

关于我该怎么做的任何想法?

您无法更改应用程序的堆栈大小,但是您可以创建一个新线程并使用此构造函数为新线程设置堆栈大小:

构造函数Thread (ThreadGroup group, Runnable target, String name, long stackSize)

无论如何,一个新线程是个好主意,因为您可以获得一个干净的堆栈。 Android 主线程已经有大约 10 个属于 Dalvik 和系统其他部分的条目...