Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 安卓:当活动停止时,计时器被孤立_Java_Android_Multithreading_Timer_Persistent - Fatal编程技术网

Java 安卓:当活动停止时,计时器被孤立

Java 安卓:当活动停止时,计时器被孤立,java,android,multithreading,timer,persistent,Java,Android,Multithreading,Timer,Persistent,我是一个编写计时器应用程序的Android新手。我使用的是一个自定义倒计时类,它是主活动类的一个成员,它生成一个每秒运行的处理程序 当我关闭应用程序时,主活动停止,但计时器继续在后台运行,如我所愿。问题是,当活动重新启动时,原来的计时器现在是孤立的,我找不到重新连接它的方法 即使在活动重新启动之间,保持与计时器对象的持久连接的最佳方法是什么?有几种不同的方法 你可以利用系统的功能 你可以自己做 你可以制作你的计时器 由于我不知道您的确切要求,我建议您按照上面的白兔链接进行判断 如果你必须坚持

我是一个编写计时器应用程序的Android新手。我使用的是一个自定义倒计时类,它是主活动类的一个成员,它生成一个每秒运行的处理程序

当我关闭应用程序时,主活动停止,但计时器继续在后台运行,如我所愿。问题是,当活动重新启动时,原来的计时器现在是孤立的,我找不到重新连接它的方法


即使在活动重新启动之间,保持与计时器对象的持久连接的最佳方法是什么?

有几种不同的方法

  • 你可以利用系统的功能
  • 你可以自己做
  • 你可以制作你的计时器
由于我不知道您的确切要求,我建议您按照上面的白兔链接进行判断

如果你必须坚持你上面描述的模式,也许第三种模式是你最好的选择


即使在关闭活动的情况下,该对象是否每秒都做任何事情?可能在退出时保存一个引用时间戳并销毁TimerObject/处理程序(
onPause
),并在启动活动时创建一个具有持久状态(如果有)的新处理程序就足够了?

有几种不同的方法

  • 你可以利用系统的功能
  • 你可以自己做
  • 你可以制作你的计时器
由于我不知道您的确切要求,我建议您按照上面的白兔链接进行判断

如果你必须坚持你上面描述的模式,也许第三种模式是你最好的选择


即使在关闭活动的情况下,该对象是否每秒都做任何事情?也许在启动活动时,保留一个引用时间戳并在退出时销毁TimerObject/Handler(
onPause
)并创建一个具有持久状态(如果有的话)的新处理程序就足够了?

AlarmManager解决方案需要重写一些代码,并且不像当前解决方案那样优雅,但听起来这正是我需要的。非常感谢!AlarmManager解决方案需要重写一些代码,并且不像当前的解决方案那样优雅,但这听起来正是我所需要的。非常感谢!