考虑从服务器获取数据并将其发布到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