Android AsyncTask和方向更改

时间:2011-07-09 14:00:33

标签: android configuration rotation android-asynctask

配置更改发生时应如何处理AsyncTasks。我正在通过这些任务访问ReSTful API,在我需要获取数据然后将其显示给用户的情况下,我遇到了问题。如果发生配置更改(如方向更改),则“活动”未正确更新。我相信AsyncTask正在更新已被破坏的旧活动。我找到了一个解决方案,需要在Application类中创建一个布尔值来跟踪我关心的AsyncTask是否仍然在运行,然后在轮换时取消监听器然后在新的Activity中重新创建它,然后在AsyncTask中完成后,监听器然后将数据显示给用户。这很好用,但它需要很多额外的东西,需要大量的管理。是否有一种方法可以将异步任务绑定到活动的新实例。或者是一种抽象我所做的事情的方法,因此它不需要为你拥有的每项任务提供尽可能多的管理。 感谢

2 个答案:

答案 0 :(得分:1)

看看asynctask-screen-rotation。这个实现对我来说非常有用。

答案 1 :(得分:0)

我也很努力,我找到的最佳解决方案是在android:configChanges="orientation"文件中为您的活动添加AndroidManifest.xml。这将阻止您的活动在方向更改时被销毁并重新创建。