H5W3
当前位置:H5W3 > Andriod > 正文

【安卓】线上Android APP报错stackoverflowerror

一般报这个错的原因是什么?我代码里并没有递归和循环调用的逻辑啊。而且报错点也看不出循环调用的逻辑,求助各位大牛

回答

你是不是创建了很多线程啊,要善用线程池;一般stackoverflow的原因,不是方法循环调用,就是线程创建的滥用,并且不注意线程的回收造成的;用好线程池的意义也在于此。

之前我也遇到过类似的错误,开始觉得莫名其妙,后来学习栈内存的分配后才恍然大悟。

递归调用…

创建了很多线程,但这些线程执行完代码后并没有被销毁,应该处于wait状态,然后又不断的创建线程,超过栈内存的阈值,然后就抛出这个错误了;查看一下,是不是当时有很多线程处于wait状态,bugly能看到的

这种问题没啥提问题的必要,自己打断点 看日志 就知道出错位置了。。原因大家都知道

本文地址:H5W3 » 【安卓】线上Android APP报错stackoverflowerror

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址