2021年6月23日 星期三

Android Debug 紀錄之 CalledFromWrongThreadException、BadTokenException

Fatal Exception: android.view.ViewRootImpl$CalledFromWrongThreadException
Only the original thread that created a view hierarchy can touch its views.



這個完全沒什麼好說的,就是沒在UI thread 調用 UI 物件像是各種 view,到底為什麼這樣的 code 可以通過測試我也是不懂,開發者只要有自己測過就一定會 crash 嘛!

Fatal Exception: android.view.WindowManager$BadTokenException
Unable to add window -- token android.os.BinderProxy@b6dedf6 is not valid; is your activity running?



這個就是如果你的app退到背景後卻有 function call dialog 會發生的錯誤,可是為什麼會發生這種錯誤呢?那就是你的 app 架構的問題了,總之還是善用 LiveData 吧!
一個典型的情境是如果你 call api 後要跳出 dialog,若使用者將app 退回背景後你的 api 才回來,dialog 這時候會在背景產生,然後你的 app 就會爆炸了耶~



沒有留言:

張貼留言