从主屏幕恢复时如何避免重复活动

时间:2014-10-05 14:25:29

标签: android android-activity duplicates

我是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);
}

1 个答案:

答案 0 :(得分:0)

解决方案是在onPause()

中取消待处理的可运行状态
@Override
protected void onPause() {
    super.onPause();
    h_main.removeCallbacks(r_test);
}