【发布时间】:2011-03-17 06:30:06
【问题描述】:
当用户在 android 中改变方向时,如何避免在活动中使用 asynctask 类重新加载活动?谁能举个例子?
【问题讨论】:
标签: android android-asynctask screen-orientation
当用户在 android 中改变方向时,如何避免在活动中使用 asynctask 类重新加载活动?谁能举个例子?
【问题讨论】:
标签: android android-asynctask screen-orientation
作为最后的手段,请关闭配置更改。发生这种情况时,您的应用必须正常工作。如果您关闭方向配置更改,因为它会中断,您的应用程序仍会以其他有时更微妙的方式中断。允许由于方向配置更改而重新启动 Activity 是一种非常好的方法,可以轻松测试应用程序的这些重要代码路径,否则这些路径很少使用,但仍会导致用户操作失败。
要跨 Activity 实例传输活动对象,请使用新的片段静态库,它允许您制作跨实例为您保留的片段。
【讨论】:
Chirag 已经正确指出了解决方案。
我只想补充一点,Activity 的重启与里面的AsyncTask 无关。默认情况下,当有任何配置更改时,Activity 会重新启动,除非配置更改由 Activity 显式处理。这是通过在清单文件中创建一个条目来完成的。
浏览此链接开发人员指南:android:configChanges
注意:检查设备上的代码而不是模拟器。因为我之前也遇到过类似的问题。相同的代码在模拟器上不起作用,但它在设备上完美运行。因此,在清单中添加android:configChanges 的条目,并在 android 设备而不是模拟器上检查应用程序。
我第二个@hackbod。 仅在必要时才这样做!
【讨论】: