【问题标题】:Android AsycTask and orentation changesAndroid AsyncTask 和方向更改
【发布时间】:2011-07-09 14:00:32
【问题描述】:

当配置发生更改时,您应该如何处理 AsyncTask。我正在通过这些任务访问 ReSTful API,在我需要取回数据然后将其显示给用户的情况下,我遇到了问题。如果发生配置更改,例如方向更改,则 Activity 不会正确更新。我相信 AsyncTask 正在更新已被破坏的旧活动。我找到了一个解决方案,需要在 Application 类中创建一个布尔值来跟踪我关心的 AsyncTask 是否仍在运行,然后在旋转时我取消监听器,然后在新的 Activity 中重新创建它,然后当 AsyncTask完成后,监听器然后将数据显示给用户。这很好用,但它需要很多额外的东西并且需要很多管理。有没有一种方法可以将异步任务绑定到活动的新实例。或者一种抽象我所做工作的方法,因此它不需要对您拥有的每项任务进行太多管理。 谢谢

【问题讨论】:

    标签: android configuration rotation android-asynctask


    【解决方案1】:

    看看asynctask-screen-rotation。这个实现对我来说效果很好。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 是的,但是如果你的活动除了方向改变之外无论如何都被中断了,那么它就没有被正确处理。如果有电话打进来,而事情正在发生,那么它将无法正常工作。
      • 你是对的。 Herman 的答案可能就是您要找的。​​span>
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-21
      • 1970-01-01
      • 2023-04-09
      • 2011-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多