我是Android和java的新手。 我所拥有的是具有处理程序(h_main)和可运行(r_test)的活动。 *在onStart()活动中调用runable。 * runable调用一个函数,通过Log.d(TAG,“tick ..”)获取反馈。 *在函数结束时,再次调用runable get,延迟时间为1000ms。
这样我每秒都能得到一个功能正常的功能。 但是当我回到Androids主屏幕并返回我的应用程序时,我明白了 每秒两个'滴答'。 它表明我的活动现在正在运行两次。我怎么能避免这个?
@Override
protected void onStart() {
super.onStart();
Log.d(TAG,"onStart()");
h_main.postDelayed(r_test, 1000);
}
public void timer_runable() {
Log.d(TAG,"tick..");
h_main.postDelayed(r_test, 1000);
}
答案 0 :(得分:0)
解决方案是在onPause()
@Override
protected void onPause() {
super.onPause();
h_main.removeCallbacks(r_test);
}