我发现如果在游戏过程中打来电话,(通常工作的)游戏应用程序有时会崩溃。经过大量的实验和查看日志,我计算出了导致程序崩溃的事件序列:
- 程序正在运行。
- 一个电话打进来。
- onPause() 被执行。
此时游戏进程可能会或可能不会被杀死的两件事之一。这是在操作系统的控制之下。
如果它没有被杀死,那么在电话结束时,调用 onResume() 并且我的程序完美地恢复而不会崩溃。
如果它被杀死,那么在电话结束时,我的程序将崩溃。
我现在面临的问题是通常进程没有被杀死。因此很难 A) 调试和 B) 检查任何尝试的修复是否有效。所以我现在的问题是,有没有办法安排我的程序在来电时总是被杀死 - 或者有没有其他方法可以重新创建我的崩溃场景。