关于android.view.WindowLeaked异常的解决方案
生活随笔
收集整理的這篇文章主要介紹了
关于android.view.WindowLeaked异常的解决方案
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
雖然是小問題一個,但也困擾了我一段時間,現(xiàn)在記下來,給自己做個備忘,也可以給其他人一個參考。
?
Android.view.WindowLeaked按字面了解,Window Leaked大概就是說一個窗體泄漏了,也就是我們常說的內(nèi)存泄漏,為什么窗體會泄漏呢?
產(chǎn)生原因:
我們知道Android的每一個Activity都有個WindowManager窗體管理器,同樣,構(gòu)建在某個Activity之上的對話框、PopupWindow也有相應的WindowManager窗體管理器。因為對話框、PopupWindown不能脫離Activity而單獨存在著,所以當某個Dialog或者某個PopupWindow正在顯示的時候我們?nèi)inish()了承載該Dialog(或PopupWindow)的Activity時,就會拋Window Leaked異常了,因為這個Dialog(或PopupWindow)的WindowManager已經(jīng)沒有誰可以附屬了,所以它的窗體管理器已經(jīng)泄漏了。
解決方法:
關(guān)閉(finish)某個Activity前,要確保附屬在上面的Dialog或PopupWindow已經(jīng)關(guān)閉(dismiss)了。
總結(jié)
以上是生活随笔為你收集整理的关于android.view.WindowLeaked异常的解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Database----Cursor
- 下一篇: java.lang.OutOfMemor