今天测试在用android自带的monkey进行测试的时候出现了一个错误java.lang.StackOverflowError.看到出错的代码只是Integer i=new Integer(xxx);这个只会出现java.lang.NumberFormatException怎么也不会出现java.lang.StackOverflowError。仔细看了一下log信息发现里面有一个死循环,一个A函数调用B函数,而B函数又调用A函数,A函数又调用B函数,而B函数又调用A函数,如此一直反复,当执行到20来次的时候出现了StackOverflowError
对java.lang.StackOverflowError的分析:
原因: 运行一个程序,JVM会开辟一块内存空间去储存程序进行时的某些信息,当程序运行时需要储存的信息超过了分配的空间,就会出现那样的问题.比如死循环,
解决:首先从程序代码优化方面着手,检查是否有死循环、递归等程序,如果有,修正、优化相关代码。
java.lang.NumberFormatException
java.lang.NumberFormatException
java.lang.NumberFormatException: