我已阅读其他窗口泄漏帖子,并尝试了那里的建议无济于事。
我有 3 个活动:A、B 和 C。活动 A 从用户那里收集信息。Activity B 在与另一个线程上的服务器通信时显示一个旋转的 ProgressDialog。当线程完成时,它会关闭 ProgressDialog 并开始下一个活动。活动 C 将来自服务器的信息显示给用户。Activity B 的设置使得当用户从 C 回击时,他们会退回到 A。
这些任务必须在单独的活动中进行,这一点很重要。
到目前为止,应用程序在大多数情况下都成功地完成了它应该做的事情,除了以下情况:如果用户在活动 C 中更改方向,然后返回到活动 A,应用程序由于窗口泄漏而崩溃。
- 在 istart C 之前,我正在关闭 Activity B 的 onPause() 中的 ProgressDialog。
- 我尝试使用处理程序以及在单独的线程中关闭主线程上的 ProgressDialog。
- 当用户不改变 C 中的方向时,不会发生窗口泄漏。
有任何想法吗?TIA