[英]Thread ,UI thread, Worker Thread, Async Task
在嘗試理解Android中的Processes
和Threads
概念時,我很困惑。 下面我提幾個問題。 也許那些是愚蠢的問題,但請幫我回答這些問題並澄清我的疑慮。
1)如果我創建一個將運行的線程? 在主(UI) Thread
?
2)如果我創建的線程在后台工人運行Thread
那么什么是使用AsyncTask
(我的意思是它是如何比線程更好)?
3)我們可以在AsyncTask中創建一個Thread嗎?
1. If i create a thread where it will run? in Main(UI) thread/Worker Thread?
它將在不在主線程中的Worker線程中運行。
2.If my created thread runs on worker `Thread` then what is the use of `AsyncTask` (I mean how it is better than thread)?
AsyncTask
用於與主線程進行通信。例如,您正在從Internet下載文件,因此您需要更新Activity
的下載進度..對於此AsyncTask更適合。 您將使用onProgressUpdate()
方法更新The Ui。因此您可以輕松地與UI線程進行通信。
3)Can we create a thread in Async task?
是的,你可以創建它,但它沒用,因為AsyncTask
有一個已經在不同的Thread
運行的doInBackGround()
方法,所以不需要在AsyncTask
創建一個新的Thread
。
1)它將作為工作線程運行,而不是在UI線程上運行。
2)異步任務使您可以在任務完成之前或之后執行某些操作。 在從Internet連接或類似操作獲取數據后必須更新UI值時特別有用。 也適用於progressdialogs。 它是一種類(擴展AsyncTask),所以它有更多的結構,然后只是啟動一個線程。
3)是的,你可以。 這對你是否有用,是一個完全不同的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.