我目前正在開發Android應用程序,它需要從互聯網上下載的內容。我使用線程來做到這一點,然後調用runOnUiThread方法來更新GUI。線程在Android的
- 我在其上放置了一個刷新菜單,如果用戶試圖刷新內容,下載線程將被創建並啓動。問題是如何控制線程順序,我需要接受最新的請求響應,並放棄以前的線程請求,如果還有其他請求仍在運行,因爲請求參數可能已被用戶更改。目前我正在使用threadId來完成這件事情,當一個線程完成時,它將檢查它的threadId,如果它是最新的被記錄的,那麼它會接受控制並呈現響應。 我的問題是,有沒有其他適當的更好的解決方案呢?
- 我是否需要停止線程時用戶退出應用程序?我記得有些書說不要手動停止線程,等待自己完成是一個好習慣,這是真的嗎?我應該通過調用「停止」還是「中斷」方法來阻止它們?
- 我看周圍的線程一些文件在Android和發現該類HandlerThread,是什麼呢?在什麼樣的情況下我需要使用它?
這篇博文可能有幫助:http://foo.jasonhudgins.com/2010/02/rebel-without-context.html一個好主意博文是針對您的活動註冊/取消註冊下載完成「事件」的監聽器,您的服務可以觸發更新UI。 – 2010-06-18 21:26:27