2012-08-08 64 views
0

我有一個在android中顯示的基本問題。我無法理解當某個顯示函數被調用時線程的行爲。具體來說,假設我創建了一個在android手機屏幕上顯示縮略圖的線程。線程在Android中如何顯示?

1-我的問題是,即使在調用顯示功能(即圖像顯示開始後)後,該線程是否仍保持活動狀態,還是會進入某種空閒或睡眠模式?

2究竟是如何顯示功能工作

+1

在不知道密碼的機制,沒有人可以說,如何顯示方法的作品。 – Lucifer 2012-08-08 07:59:53

回答

0

在Android應用程序,主線程,或者它被稱爲UI線程負責編制/更新UI。您不能在工作線程中執行ui操作。

有些方法可以通過它從工作線程發佈ui更新。 如果在工作線程或異步任務中有活動實例,則可以發佈activity.runOnUiThread(Runnable操作),該操作將在ui線程上運行Runnable。

+0

所以你的意思是主線程總是顯示圖像? – gpuguy 2012-08-08 08:15:49

+0

不確定一旦活動已暫停,ui線程是否處於活動狀態,但是我確信一旦活動已被銷燬,它就不會被激活。 – 2012-08-08 08:19:47

0

您無法直接從任何工作線程更新UI。你需要在UI線程上做到這一點。爲此,android爲我們提供了Handler和AsyncTask,它們接受來自工作線程的值並更新主線程中的UI。只能從主線程完成對UI的任何更新,即在您的活動開始時創建的線程。

因此,當您使用處理程序或AsyncTask從工作線程更新UI時,工作線程將繼續運行(如果需要完成更多工作),除非您銷燬它。 UI線程(主線程)也同時運行。因此,主線程已準備好處理主線程中發生的任何UI事件(例如,單擊事件)。

這是線程從根本上起作用的方式。你只需要知道在android中,當你想更新UI時,你需要控制主線程。