【发布时间】:2012-08-27 03:57:05
【问题描述】:
Android/Java 开发者您好,
当一个函数调用一个函数并且该函数调用另一个函数等等时,多少次调用(堆栈长度)会使我进入堆栈溢出?有没有一般的经验法则?
我问的原因是因为我现在对于我的 5 人纸牌游戏来说更有效(设计明智)
解决方案 1:
for(int i=0;i<100;i++){
p1.play();
p2.play();
p3.play();
p4.play();
}
解决方案 2:
p1.play(); //where p1.play() calls p2.play() and so on until p4 calls p1 again.
// this will go on for 100 times
我更喜欢解决方案 2,所以如果发生崩溃,我可以看到从 i=0 处的 p1 到 i=100 处的 p4 的所有函数调用
但是对于解决方案 1,堆栈要短得多,但是当发生崩溃时,我会在循环的开头看到发生崩溃的调用函数 play()
你有什么建议?我知道这是 2 合 1 的问题,但它们非常相关
谢谢大家
【问题讨论】:
-
为什么你没有第一次调用大多数嵌套函数。
标签: java android exception-handling error-handling