我发现,如果在游戏过程中有来电,那么(通常正常工作的)游戏应用有时会崩溃。经过大量的实验和查看日志后,我找出了导致程序崩溃的事件序列:
此时游戏过程可能会或可能不会被杀死的两件事之一。这是在操作系统的控制下。
如果没有被杀,那么在电话结束时,会调用onResume()并且我的程序会完美恢复而不会崩溃。
如果它被杀死,那么在通话结束时,我的程序将崩溃。
我现在面临的问题是通常该进程未被杀死。因此很难A)调试和B)检查任何尝试的修复是否有效。所以我现在的问题是,有没有办法安排我的程序总是在电话呼入时被杀死 - 或者是否有其他方法可以重新创建我的崩溃导致的情况。
答案 0 :(得分:0)
首先,我认为崩溃的原因是NullPointerException
,您应该检查onPause
和onResume
中发生的情况。
在模拟器中,有一种简单的方法可以模拟在设备的一般使用过程中可能发生的事件。