繁体   English   中英

避免在android中的方向更改时使用异步任务重新加载活动

[英]Avoid reloading activity with asynctask on orientation change in android

在 android 中,当用户更改方向时,如何避免在活动中使用 asynctask 类重新加载活动? 有人可以举个例子吗?

作为最后的手段,请关闭配置更改。 发生这种情况时,您的应用程序必须正常运行。 如果您关闭方向配置更改因为它中断了,您的应用程序仍会以其他方式中断,有时会以更微妙的方式中断。 允许由于方向配置更改而重新启动 Activity 是一种非常好的方法,可以轻松测试应用程序的这些重要代码路径,否则这些代码路径很少被执行,但仍会导致用户操作失败。

要跨 Activity 实例传输活动对象,请使用新的片段静态库,它允许您制作跨实例为您保留的片段。

Chirag 已经正确地指出了解决方案。

我只想补充一点,Activity的重启与其中的AsyncTask无关。 默认情况下,当有任何配置更改时,除非 Activity 明确处理配置更改,否则活动将重新启动。 这是通过在清单文件中创建一个条目来完成的。

通过此链接开发人员指南: android:configChanges

注意:检查设备上的代码而不是模拟器。 因为我之前也遇到过类似的问题。 相同的代码在模拟器上不起作用,但在设备上完美运行。 因此,在清单中添加android:configChanges条目并在 android 设备而不是模拟器上检查应用程序。

我第二次@hackbod。 仅在必要时才这样做!

当方向发生变化时,如何保留2个“警报”对话框彼此打开? 相信我,在打开2个Dialogs的情况下重启3个片段活动并不简单。 程序员没有时间进行不必要的编程。 更容易停止应用程序某些部分的方向更改,或者始终阻止它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM