整个应用程序是否有onPause?

时间:2013-09-03 11:40:25

标签: java android timer lifecycle onpause

我的应用程序是一组活动,我没有子应用程序。有一个静态单例类,它运行一个循环计时器(java.util.Timer)。当用户离开我的应用程序时,该计时器需要暂停。

如果只有一个活动,我可以暂停并恢复MainActivity的onPause()和onResume()的计时器。在我的情况下,我该如何解决这个问题?

5 个答案:

答案 0 :(得分:4)

创建BaseActivity并暂停并恢复onPauseonResume中的计时器。然后从BaseActivity

派生所有其他活动

答案 1 :(得分:2)

如果你有这个静态singelton,你可以通过每个Activity的onPause()onResume()来打电话。

将调用放入Activity的子类中以减少代码重复。 在所有活动中扩展这个新的子类。

答案 2 :(得分:1)

如果您的所有活动在应用程序中保持打开状态,您可以使用此功能,如果应用程序已关闭,则会在onPause()

中调用isFinishing()
 @Override 
public void onPause() {        

        if(isFinishing()){
//code to finish() all activitys threads etc.....
}            

    super.onPause();
}

答案 3 :(得分:1)

我发现onDestroyonCreate被恰当地调用,因此我将其覆盖。

覆盖所有活动的onPauseonStart会很麻烦,因为每次启动新活动时计时器都会暂停并恢复。

答案 4 :(得分:-1)

你可以做多件事:

  1. 什么都不做,当用户离开你的应用程序停止的所有活动时,你的所有对象,甚至静态单例都将从内存中释放。

  2. 通过此单例跟踪活动活动,当没有人处于活动状态时暂停计时器。