我正在从我的引擎中获取解码帧,并在 android 中使用 SurfaceView 播放它。 但它播放了 2-3 秒,然后我的应用程序崩溃并出现错误“调试器自杀以释放僵尸”。
请帮帮我。
我使用的是 Android SDK 2.1。
最佳答案
****我认为这是游戏警报而不是 Android 调试日志消息 =| ****
僵尸进程
在 Unix 和类 Unix 计算机操作系统上,僵尸进程或失效进程是已完成执行但在进程表中仍有条目的进程。仍然需要此条目以允许启动(现在是僵尸)进程的进程读取其退出状态。僵尸进程一词源自僵尸的通用定义——一个不死的人。在这个术语丰富多彩的比喻中,子进程已经死亡但还没有被收割。此外,与正常进程不同,kill 命令对僵尸进程没有影响。
当一个进程结束时,所有与之关联的内存和资源都将被释放,以便其他进程可以使用它们。但是,进程在进程表中的条目仍然存在。父进程可以通过执行 wait 系统调用读取子进程的退出状态,在这个阶段僵尸被移除。 wait 调用可以在顺序代码中执行,但它通常在 SIGCHLD 信号的处理程序中执行,父级在子级死亡时接收该信号。
僵尸被移除后,它的进程ID和进程表中的条目就可以重用了。但是,如果父进程调用 wait 失败,则僵尸进程将留在进程表中。在某些情况下,这可能是可取的,例如,如果父进程创建另一个子进程,它确保不会为它分配相同的进程 ID。在现代类 UNIX 系统(在这方面符合 SUSv3 规范)上,以下特殊情况适用:如果父级通过将其处理程序设置为 SIG_IGN(而不是默认情况下简单地忽略信号)或具有 SA_NOCLDWAIT 标志来明确忽略 SIGCHLD设置后,所有子进程退出状态信息将被丢弃,不会留下任何僵尸进程。
僵尸进程与孤儿进程不同。孤儿进程是仍在执行但其父进程已死亡的进程。它们不会成为僵尸进程;相反,它们由等待其子进程的 init(进程 ID 1)采用。
来自维基! =)
关于android - 调试器自杀以释放僵尸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2810107/