【发布时间】:2011-04-03 20:26:06
【问题描述】:
我有一个像 clapperboard 一样的应用程序,在其中我使用一个变量,我每毫秒都会 i++(我需要毫秒来显示每秒帧数,而计时器每秒只更新一次),然后我将它显示在格式 HH:MM:SS:FF。我还有一个退出按钮
if (item.getTitle() == "Quit") {
Process.killProcess(id);
}
问题是我希望应用程序在我按下退出时记住 i 的值,因此如果我再次启动它,计时器将在退出之前的同一点启动。 我试过了
public void onSaveInstanceState(Bundle outState) {
outState.putLong(MILLISECONDS, i);
super.onSaveInstanceState(outState);
}
然后调用它
public void onStart(Bundle savedInstanceState) {
super.onStart();
i = savedInstanceState.getLong(MILLISECONDS);
}
和
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
i = savedInstanceState.getLong(MILLISECONDS);
}
但它不起作用。 另外,如果我一起去
onCreate(Bundle savedInstanceState) {
...
i = savedInstanceState.getLong(MILLISECONDS);
...
}
应用程序强制关闭。 请知道我做错了什么吗? 非常感谢。
【问题讨论】: