我有一個ListActivity,它根據列表選擇啓動另一個Activity。這第二個活動需要通過從xml文件解析來加載數據,因此在用戶點擊某個項目和顯示活動之間存在明顯的延遲。顯示進度條,不凍結應用程序
在此過程之間,用戶必須在屏幕底部顯示進度條,而不凍結活動。
我有一個ListActivity,它根據列表選擇啓動另一個Activity。這第二個活動需要通過從xml文件解析來加載數據,因此在用戶點擊某個項目和顯示活動之間存在明顯的延遲。顯示進度條,不凍結應用程序
在此過程之間,用戶必須在屏幕底部顯示進度條,而不凍結活動。
您應該看看AsyncTask
類,它使您能夠進行後臺處理併發布處理狀態,而不會暫停主活動。
每當你使用一些GUI庫時,會有這樣一個概念:你有一個用於GUI事件的線程,在Swing中稱爲「Event Dispatching Thread」EDT,在Android和SWT中,它被稱爲UI線程。該線程負責所有的GUI事件和操作。耗時的操作必須在另一個線程上完成,因此UI不會阻塞/凍結。
(我想了解UI開發的這個基本概念,而不只是使用的AsyncTask,並認爲這是一些具體的事情的Android是很重要的)
編輯
使用UIThread顯示進度條,並使用AsyncThread進行網絡活動。 – 2011-04-06 07:44:21
你究竟是什麼意思凍結。應用程序崩潰了嗎? – 2011-04-06 07:45:24