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

时间:2016-11-04 11:30:35

标签: java android timertask stack-size

我的服务中出现了stackoverflow错误,这是我的主要活动。有没有办法在我的服务中更改堆栈大小?我遇到了Xss参数,但显然它在vm选项中不可用(Help-> Edit vmoptions)。

有点背景: 当我尝试在代码中读取序列化机器学习模型然后对其进行反序列化时,我收到错误。当这个模型建立在一个小数据集上时,同样的功能可以正常工作,但是当我用更大的数据集构建相同的模型时,它不起作用。

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

1 个答案:

答案 0 :(得分:2)

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

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

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