java程序的堆栈溢出问题,急急急!
我在java程序编译运行时没有任何问题,打普通包的时候也没有问题,并且在真机上能够运行正常,但是在打混淆包的时候出现了堆栈溢出异常,错误提示为:
Exception in thread "main" java.lang.StackOverflowError
at proguard.optimize.evaluation.Stack.push(Stack.java:208)
at proguard.optimize.evaluation.TracedStack.push(TracedStack.java:136)
at proguard.optimize.evaluation.Processor.visitSimpleInstruction(Processor.java:89)
at proguard.classfile.instruction.SimpleInstruction.accept(SimpleInstruction.java:152)
at proguard.optimize.evaluation.PartialEvaluator.evaluateInstructionBlock(PartialEvaluator.java:1414)
at proguard.optimize.evaluation.PartialEvaluator.evaluateInstructionBlock(PartialEvaluator.java:1559)
打包失败。
请问各位大侠出现这种异常的原因是什么啊?该如何解决呀?问题急,谢谢啦!
我在网上查过资料,说出现这种问题的原因是不断的创建实例没有得到释放产生,或者是因为循环调用出现了递归现象,我仔细检查了整个程序,都觉得并没有发生前面的两种原因。我想请问,除了全局变量在程序断开才释放以外,在函数方法内创建的局部变量只要该方法运行结束,其中的变量是不是就会被释放掉啊?那么除了变量以外,就只有方法调用这一块了,请各位大侠帮我分析分析,是什么原因?该怎么检查是哪里出了问题啊?