Android

android.view.WindowLeaked: Activity has leaked window com.android.internal.policy.PhoneWindow$DecorView


最近写程序因为有try catch关系,这个没有明显的在错误趋势看到这个错误。

但在撰写过程序,看到了这个问题

E/WindowManager: android.view.WindowLeaked: Activity XXXXXXX has leaked window com.android.internal.policy.PhoneWindow$DecorView{88884ad V.E...... R....... 0,0-1055,685} that was originally added here

看错误是发生在dialog.show(),

但不知道为什么。

后来发现可能原因为在dialog.dismiss()前,Activity已经先被finish了,导致了这样的问题。

作法改为,dismiss再前,finish在后,就解决问题了。不然就要检查一下所有组件的前后顺序啰。