由于在离开活动之前必须关闭对话框,因此我会覆盖活动中的onSaveInstanceState()
方法以保存对话框的数据。我认为在从活动中获取数据后,我应该在dismiss()
的最后一个对话框中调用onSaveInstanceState()
方法。我是对的吗?
答案 0 :(得分:1)
是的,在调用dialog.dismiss()方法并且同时指定dialog = null后,对话框将被解除,因此您将针对Window Leaked错误进行保存。
答案 1 :(得分:1)
解决方案是在退出活动之前在您在视图中创建的对话框上调用dismiss()
,例如在onPause()
。在离开Activity之前,应该关闭所有窗口和对话框。如果你没有关闭对话框,它会给你这个例外。