AsyncTask
在另一个线程中运行复杂任务是一件很棒的事情。
但是,当有方向更改或其他配置更改时,AsyncTask
仍在运行,当前Activity
被摧毁并重新启动。作为实例AsyncTask
连接到该活动时,它将失败,并导致“强制关闭”消息窗口。
因此,我正在寻找某种“最佳实践”,以避免这些错误和防止AsyncTask失败。
到目前为止我看到的是:
onRetainNonConfigurationInstance
Activity
将被销毁,并在Activity
再次创建。你能帮我找到解决问题的最佳方法吗?代码本身也很重要,因为我不知道如何正确地解决这个问题。
发布于 2018-03-23 10:06:15
不使用android:configChanges
来解决这个问题。这是很糟糕的做法。
不使用Activity#onRetainNonConfigurationInstance(),
不那么模块化,也不适合Fragment
-基于申请。
Fragment
S,它解决了保留AsyncTask
在旋转过程中变化很好。你基本上需要主持你的AsyncTask
在一个Fragment
,打电话setRetainInstance(true)
在Fragment
,并报告AsyncTask
进展/结果回到Activity
通过保留Fragment
.
https://stackoverflow.com/questions/-100003215
复制相似问题