【发布时间】:2016-10-17 16:21:33
【问题描述】:
假设我有 2 个在 API 级别 8 设备上运行的应用程序 A 和 B。
从 A 开始,我开始一个活动,该活动开始一个长时间运行的解压缩过程(假设大约 4 个演出)。我在 ProgressDialog 中显示此进度。
与此同时,通过手动操作,操作会导致 B 响应并将带有 ProgressDialog 的 Activity 推离屏幕(调用 onStop)。 我执行了一些操作,完成后我隐藏了 B 的活动。 让 A 的活动重新出现在屏幕上(调用 onResume)。
但是 ProgressDialog 消失了,即使长时间运行的进程仍在运行。调用 OnStop 后,我的 ProgressDialog 是如何消失的,为什么它没有在我的 OnResume 中返回?
可能活动的上下文已经改变,因此使用活动上下文调用的 ProgressDialog 也消失了。但由于长时间运行的进程仍在运行并且处于工作状态,我应该也能够获得相同的 ProgressDialog 实例。 但是仅仅调用 .show() 是行不通的。
请注意,该功能在单个应用程序中运行良好。当 2 个应用程序相互竞争时,这纯粹是有问题的。
【问题讨论】: