来电后Android应用程序崩溃

时间:2011-02-08 13:43:33

标签: android

我有一个错误报告,当用户正在玩我的游戏并收到来电时,在通话结束后我的应用程序崩溃了。

问题是我试图重新创建错误 - 我整个上午一直坐在这里运行它并打电话 - 它总是恢复而没有任何问题。我也看不到与此问题相关的任何错误报告。我也非常详尽,在各个阶段(即进入高分,在启动画面,游戏过程中)调用它,从来没有任何问题。

这很奇怪,因为我之前报道过这个错误,然后用户说它现在没事了。所以我想它一定是间歇性的。

我猜这个问题出现在我的onCreate()方法中。我认为这是恢复应用程序的切入点。

有没有人知道如何在没有崩溃报告的情况下调试这个“盲目”?

4 个答案:

答案 0 :(得分:2)

你可能正在寻找onStart而不是onCreate。请查看Android Developer Reference for Activity

中的活动生命周期图

答案 1 :(得分:0)

通常不建议使用但UncaughtExceptionHandler可以处理... check the second answer

答案 2 :(得分:0)

清单中的configChanges是什么样的?

确保正确处理onConfigurationChanged。

方向变化是许多类似问题的原因。

答案 3 :(得分:0)

我想我已经修好了。问题是我在surfaceCreated方法中创建了一个新的绘制线程,而没有停止前一个线程。不好,最终因内存不足导致异常。当我使用DDMS查看线程时,我可以看到多个绘制线程在构建。在游戏中,我可以看到每次将应用程序发送到后台时一切都会变慢。

这个答案对解决方案programming with thread strategy

有很大帮助

该方法主张在将应用程序发送到后台时终止线程。但最后,我决定在应用程序休眠时让线程暂停,因为它似乎更合乎逻辑。除了线程内的等待循环之外没有什么复杂的。

        while (run) {
            while ( paused ) {
                try {
                    Thread.sleep(200);
                } catch (InterruptedException e) { }
            }

我只是在onStop()方法上将暂停设置为true。