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

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在後,就解決問題了。不然就要檢查一下所有元件的前後順序囉。