我正在开发一个简单的 Android 游戏应用程序。在我的主要活动(用于玩的活动)期间,当验证一个条件时,1/2 秒后,我想停止当前活动并重新启动它。游戏有时运行良好,但经常随机地崩溃,“没有错误”[它不会重新启动活动,但会关闭返回游戏菜单活动的视图(用于菜单、选项等的活动...... .)]。
以下是问题发生时的一段代码:
if(scoreManager.isEndGame()){
final Handler mHandler = new Handler();
Runnable mUpdateTimeTask = new Runnable() {
public void run() {
long remainingTime = scoreManager.getSecondsUntilFinished();
scoreManager.setRemainingTime(remainingTime*1000);
finish();
startActivity(getIntent());
}
};
mHandler.postDelayed(mUpdateTimeTask, 500);
}
scoreManager包含一个 CountDownTimer,它在每次重新启动时用剩余时间进行实例化(它在 onCreate() 上实例化)。
在 LogCat 上,我读到:
InputMethodManagerService:得到 RemoteException 向 pid 18494 uid 10062 发送 setActive(false) 通知
I/ActivityManager : 显示 com.myproject.activities/.MenuActivity: +774ms (总共 +3s697ms)
基本上,活动通常被破坏并且不会重新启动。不会抛出异常。我在我的“HTC Desire”上测试这个问题。
请帮忙。