当用户在Android中更改方向时,如何避免在活动中使用asynctask类重新加载活动?任何人都可以举个例子吗?
答案 0 :(得分:75)
请关闭配置更改作为最后的手段。发生这种情况时,您的应用必须正常工作。如果您关闭方向配置更改,因为它中断,您的应用程序仍然会在其他方面中断,有时会更细微。由于方向配置更改而允许重新启动活动是一种非常好的方法,可以轻松测试应用程序的这些重要代码路径,否则这些路径会少得多,但仍会导致用户失败。
要在Activity实例之间传输活动对象,请使用新的片段静态库,它允许您创建跨实例保留的片段。
答案 1 :(得分:2)
Chirag已经正确地指出了解决方案。
我只想补充一点,重新启动Activity与其中的AsyncTask
无关。默认情况下,当有任何配置更改时,活动将重新启动,除非活动显式处理配置更改。这是通过在清单文件中创建一个条目来完成的。
浏览此链接开发人员指南:android:configChanges
注意:检查设备上没有模拟器的代码。因为我之前遇到过类似的问题。相同的代码没有在模拟器上工作,但它完美地在设备上工作。因此,在清单中添加android:configChanges
条目,并在Android设备上检查应用程序而不是模拟器。
我是第二个@hackbod。 仅在必要时执行此操作!
答案 2 :(得分:0)
如何保存2'提醒'当方向改变时,对话框会相互打开?相信我,在打开2个Dialogs的情况下重启3个片段活动并不简单。程序员没有时间进行不必要的编程。更容易停止应用程序某些部分的方向更改,或者始终阻止它。