19
//Creates a new Timer which may be specified to be run as a daemon thread.
Timer(boolean isDaemon)  

//Creates a new non-daemon Timer.
Timer()

什么时候应该在 Android 应用程序中将计时器作为守护程序启动?

文档对此只字未提。

http://developer.android.com/reference/java/util/Timer.html

4

1 回答 1

14

如果您的应用程序正在运行用户线程(即非守护线程),那么 JVM 将等到其方法返回run()(或线程已完成执行)后才终止应用程序。但是,如果您的线程设置为daemon,那么它会指示 JVM 不要等待其执行完成,以防 JVM 需要关闭应用程序(即,当没有其他用户线程正在运行时)。除此之外,这两种类型的线程在所有其他方面都受到同等对待。

在您的情况下,您不应该将您的Timer作为守护线程设置为,除非您不希望它的执行保持应用程序的终止。

有关更多信息,请阅读

于 2013-10-30T08:11:02.403 回答