考慮從服務器獲取數據並將其發佈到UI列表視圖中的情況,但這是一個正在進行的活動,它從不停止。android多線程和網絡主線程異常;
taskA{ //fetches data over network
if(!update)
fetch();//network operation
}
taskB{//using this data UI is updated at runtime just like feed.
if(update)
show();//UI operation
}
任務A首次啓動時,它完成taskB開始到那個時候一後正在睡覺,反之亦然,去,現在我面臨的問題是:
- 兩種操作都必須在工作線程
- 兩個操作都在循環,直到活動還活着。
- 如果處理程序用於將UI操作發佈到主線程,則taskB似乎停止。
任何人都可以請我建議一個設計,讓這個工作?
這是一個很好的答案,但只有在用戶旋轉設備時活動不旋轉纔是正確的。 – 2012-07-10 09:33:53
處理並不複雜。有關更具體的解決方案,請參閱http://stackoverflow.com/questions/2620917/how-to-handle-an-asynctask-during-screen-rotation。 – 2012-07-10 09:56:07
如果我錯了,請糾正我,但如果我使用asynctask進行重複操作(如taskA),則它會每次創建一個新線程以執行相同的操作。 – user1254554 2012-07-10 10:23:34