9

アプリケーション用のサービス スレッドを作成しています。このスレッドはバックグラウンド タスクを実行するため、メイン スレッドが実行されている場合にのみ使用されます。

それで、それを Daemon として宣言する必要がありますか?

4

2 に答える 2

4

Android では、スレッドを明示的に管理することをお勧めします。いつ終了するかを伝えます。

ここで関連する議論を参照してください。彼らは解決策を見つけられず、代わりに長寿命のスレッドを観察しました。

アプリケーションの終了時にワーカー スレッドを終了させるために、どのようなフックがありますか

このプラットフォームでは、標準の Java シャットダウン フックが保証されていないことに注意してください。

http://developer.android.com/reference/java/lang/Runtime.html#addShutdownHook%28java.lang.Thread%29

したがって、とにかく Android が適切に VM を強制終了するという (文書化されていない?) 信念に依存する代わりに、デーモン/デーモンではないことを推測するのではなく、スレッドを制御する方が良いようです。

于 2012-10-17T08:52:11.670 に答える
2

あまり。Androidにはmain()アプリ用のメソッドがなく、アプリは終了しませんが、システムによって管理されます。アプリを強制終了してリソースを解放することにした場合、(ほとんどの場合) デーモン スレッドがあるかどうかは気にしません。

于 2012-10-17T08:44:29.877 に答える