我在Android服務中啓動一個線程,當服務停止時(onDestroy方法運行)線程仍在運行。我想知道服務是否停止或嘗試在退出時停止它的線程,如果不是,我該如何停止它。線程在其父進程停止時是否會停止
0
A
回答
1
對於您的情況,不會。因爲通常服務是而不是 process.It與其他組件,活動等和您的線程運行相同的過程。
要停止線程,您需要在onDestroy
中設置一個標誌,指示線程應該自行終止。 並且在線程中,您應該檢查標誌是否定期設置。
+0
感謝您的回答。 – tang 2014-09-01 07:02:23
0
線程不會終止,除非您自己或通過退出條件殺死他。 如果殺死上層線程,下層線程將成爲守護進程。 這可以通過在構造函數中調用setDaemon(true);
來禁用。
Service(){
setDaemon(true);
}
(更新)或由@suitianshi說:
boolean terminated = false;
@Override
public void run(){
while (! terminated){
System.out.println("Thread is running");
}
}
public void terminate(){
terminated = true;
}
0
看一看這個,
https://developer.android.com/training/run-background-service/create-service.html
你可以看到的例子代碼。意圖服務是一種在後臺運行並終止其自身的服務。
相關問題
- 1. 當父進程停止時停止子進程
- 2. 線程在其ThreadStart例程返回時是否自動停止?
- 3. 已停止的進程是否會阻止其他進程的正常運行?
- 4. 停止主管進程而不會終止其他子進程
- 5. 線程不會停止
- 6. 線程不會停止onPause
- 7. BroadcastReceiver不會停止線程
- 8. Java線程不會停止
- 9. 停止線程
- 10. 停止線程
- 11. 停止線程
- 12. 從其他線程停止線程
- 13. 如何在主線程停止/暫停線程/ Activity在android中暫停/停止?
- 14. 暫停和停止線程
- 15. 斷點是否停止所有線程?
- 16. 如何停止線程當Tomcat停止
- 17. unix page out是否停止了進程?
- 18. HowTo-線程停止
- 19. 停止MFC線程
- 20. Android:停止線程
- 21. 停止線程onPause
- 22. JavaFX停止線程
- 23. 多線程會導致程序停止?
- 24. NSThread停止進程
- 25. C#停止進程
- 26. 停止JUnit整理,直到所有其他線程都停止
- 27. Android,在活動暫停或停止時終止線程?
- 28. 程序不停止線程
- 29. 在python3中停止線程
- 30. 在Android上停止線程
不明白,你想停止你的服務,當線程停止或反之亦然? – bhargavg 2014-09-01 06:45:42
一旦服務將停止線程將自動停止,無需打擾自己 – Jeetendra 2014-09-01 06:54:01
執行線程的點將獨立處理 – user2450263 2014-09-01 06:54:15