我有一个非主线程的线程,我试图在生命周期事件和用户可能做的事情中正确处理。我通过执行以下操作使生命周期事件发挥作用:
public void surfaceCreated(SurfaceHolder arg0) {
if (thread.getState() == Thread.State.TERMINATED) {
thread = new LemonadeMainMenuThread(holder, ctx, new Handler() {
@Override
public void handleMessage(Message m) {
}
});
}
thread.setRunning(true);
thread.start();
}
无论何时用户按下主页按钮然后重新启动,这都可以正常工作,但是如果用户按下电源按钮(不是只是为了休眠而关闭),则线程似乎会停止,因为它停止发生。当用户关闭屏幕时,处理线程的正确方法是什么?一如既往,非常感谢帮助。