android線程銷毀
1. android thread 後台線程 怎麼設置隨著主線程的結束而結束
關於線程的結束有以下幾點:
1.不要手動調用stop方法強行終止一個線程,這種方式不安全。
通過幫助文檔,我們可以知道,Android的線程類本身就提供了一些公共方法去結束線程。
final void stop()
This method is deprecated. because stopping a thread in this manner is unsafe and can leave your application and the VM in an unpredictable state
但是,通過說明我們可以看到,這些方法Android本身都是不推薦使用的,通過這種方式結束線程是不安全的。
2.線程里run函數短,執行完後線程會自行銷毀,不用手動去終止。
3.手動停止,通過在run里設置標志先停止運行,再調用Thread.interrupt();注意,在run沒有停止時調用.interrupt()沒有效果。
2. android開發 thread線程怎麼銷毀
thread有destroy方法。一般的,都是讓這個線程走到頭就自動銷毀了,要自己設計讓這個線程走完退出
3. Android開發, 在fragment中如何銷毀一個無線循環的線程
要銷毀線程,你要設置break條件去跳出循環的,不然無法銷毀。除非kill整個進程。你寫循環的時候就寫:
boolean volatile isRunning = true;
while (isRunning) {}
要銷毀的時候設置isRunning = false;
4. android:當Activity和Service 都被銷毀後,如何控制其中生成的線程
線程沒有被銷毀的,當Activity或者Service中還有活動線程的時候,垃圾回收器是不會回收銷毀Activity和Service對象的。舉個例子,你可以在Activity中啟動一個線程,在onDestroy中用System.out.print或者log輸出一個信息,然後通過按鈕調用finish方法,會發現點擊以後Activity會「關閉」,但只是不可見了,但是沒有調用onDestroy方法。除非你在onDestroy中關閉了線程才會關閉。
線程管理一般是通過一個布爾類型值保存其狀態,通過判斷它是否為空,一起來處理。這樣最簡單。
就是在onDestroy中處理的,你說沒有調用,是因為還有子線程在運行。在onDestroy中判斷線程狀態,正常關閉線程以後就行了。
5. Android開發時,Activity被銷毀後,之前在裡面創建的線程情況
是還在運行的,java線程一旦開起來,很難銷毀。JVM有很好的管理機制,系統最後會自動釋放回收。作為手動回收來說,你可以調用interrupt 但是不是每次都起作用,有時候回收不了
6. android 線程執行完會主動銷毀嗎
不會自動銷毀,除非主動關閉它們。
一、銷毀的方法
1、通過線程
Hanlder是線程與Activity通信的橋梁,利用handler接收到任務線程,放到任務隊列裡面派對執行。
//調用該任務線程的run() 方法執行任務線程。
Handler updateBarHandler =new handler();
handler.post(Runnable Thread);
//移除handler里的任務線程,調用線程的stop()方法,銷毀線程。
handler.removecallbacks(Runnable Thread);
2、通過Timer
通過以下四種方法終止一個timer線程:
a)調用timer的cancle方法。可以從程序的任何地方調用此方法,甚至在一個timer task的run方法里;
b)讓timer線程成為一個daemon線程(可以在創建timer時使用new Timer(true)達到這個目地),這樣當程序只有daemon線程的時候,它就會自動終止運行;
c)當timer相關的所有task執行完畢以後,刪除所有此timer對象的引用(置成null),這樣timer線程也會終止;
d)調用System.exit方法,使整個程序(所有線程)終止。
7. android:當Activity和Service 都被銷毀後,如何控
1首先 android 一個程序中 的activity 都是一個線程,service和activity也是一個線程 2在activity 中啟動一個子線程,當前activity finish destroy掉 子線也會運行的。 3在service里的線程 與activity很類似 service即使停止了 線程也在運行android:當Activity和Service 都被銷毀後,如何控
8. android 線程銷毀
Thread可以用destroy方法銷毀,但它不保證資源被釋放,所以只能用在無資源的情況下。
1.一般都建議自行控制代碼邏輯讓run()方法正常執行完
2.常用的方法包括可以被打斷(在代碼里檢測interrupted())、檢測狀態標識退出循環等
9. android開發線程問題: 求教怎麼銷毀子線程用destroy老是報錯的...
線程,一般是用來循環做某件事情的,你可以設置個變數每次循環之前,每次循環開始時候檢查變數,不行就退出。如果是讀取文件,連接網路等耗時的,那就interrupt,或者不管他,超時自動回報錯的