Timer() как Daemon Vs non Daemon

//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()

Когда запускается таймер как Daemon внутри приложения Android?

В документации ничего не говорится об этом.

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

Ответ 1

Если ваше приложение запускает пользовательский поток (т.е. не-демонный поток), JVM будет ждать, пока не вернется его метод run() (или поток завершит его выполнение) до того, как он завершит приложение. Однако, если ваш поток задан как daemon, он инструктирует JVM не дожидаться завершения его выполнения, если JVM должен закрыть приложение (т.е. Когда ни один другой поток пользователей не запущен). Помимо этого, оба типа потоков обрабатываются одинаково во всех других аспектах.

В вашем случае вы не должны устанавливать свой Timer как поток демона до тех пор, пока вы не захотите, чтобы его выполнение приостановило выполнение приложения.

Для получения дополнительной информации прочитайте this и this.