因為串接 Firebase 為非主執行緒遇到的問題紀錄
開始接Firebase登入流程的時候 所看到的範例都是以下寫法
FirebaseAuth.DefaultInstance.SignInAnonymouslyAsync().ContinueWith((task =>
{
..........
}
接FB登入時一直都沒有問題,直到接Google登入的時候,在取得資料至應用程式到顯示遊戲內的介面時就一定會發生閃退的現象
在歷盡千辛萬苦,終於抓到閃退的原因是「接下來的動作不允許在非主執行緒的地方執行」
就算將呼叫UI的地方轉換成在主執行緒也還是出現同樣的錯誤,在Google上找了好久才發現原來 ContinueWith 這段是可以改寫成在主執行緒去執行
寫法如下
FirebaseAuth.DefaultInstance.SignInAnonymouslyAsync().ContinueWithOnMainThread((task =>
{
...........
}
如此一來 因為在非主執行緒造成的閃退問題就解決了