close

偶然遇到了這個問題
從字面上的意思來看
就是有一個視窗洩露了
但視窗洩露什麼意思呢?

 

意思就是
我們沒有即時的銷毀某個 Window

 

舉例來說
我遇到這個問題是在 AsyncTask 裡面使用 Dialog 的情況下
當我的 Task 中出現了嚴重的錯誤
而導致 Activity 強制關閉
但是我們的 Dialog 還不知道他的宿主已死
沒有即時的 dismiss() ,這個問題就此誕生了

 

所以遇到這個問題的人不用緊張
在 Android Monitor 中往上找找
(位置如圖)


也許可以找到我們的 Task 中發生什麼錯誤才讓 Activity 關閉
其實這才是真正的錯誤
解決了之後
Activity 就不會關閉,也自然不會再出現 WindowLeaked 了喔!!

 

那如果很不幸的,Android Monitor 中就只有一個錯誤訊息呢?
這時後我們就要好好檢查一下自己的 code
檢查當我們要關閉某個 Activity 之前
有沒有好好的關閉附屬在上面的子視窗
都有的話,我想問題就可以解決了!!!







資料來源:
http://blog.csdn.net/u_xtian/article/details/6123945
http://syuandroid.blogspot.tw/2013/03/activity-has-leaked-window-that-was.html


arrow
arrow
    全站熱搜

    顏澤偉 發表在 痞客邦 留言(0) 人氣()