【发布时间】:2019-02-08 10:49:54
【问题描述】:
我目前正在使用 Firebase 和 Unity 进行开发。我遇到了线程冻结的问题。在统一编辑器中运行时不会出现该问题,仅在 Android 设备上运行时才会出现。
我有一个带按钮的场景。在 Button 按下时会发生 firebase 事务,并且场景会发生变化。我使用 Android Monitor 进行了调查,收到了一个转储,其中包含以下行:“IdleHandler 从 firebase 抛出异常”、“其他线程被困;signum = 11”、“主线程被困”
以下是在 GUI 中按下按钮时运行的代码示例。
好像和github上的这个问题有关:https://github.com/firebase/quickstart-unity/issues/181
public void on buttonPress()
{
Firebase.FirebaseApp.LogLevel = Firebase.LogLevel.Debug;
Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task =>
{
var dependencyStatus = task.Result;
if (dependencyStatus == Firebase.DependencyStatus.Available)
{
//transaction code
return TransactionResult.Success(data);
}
else
{
UnityEngine.Debug.LogError(System.String.Format(
"Could not resolve all Firebase dependencies: {0}", dependencyStatus));
// Firebase Unity SDK is not safe to use here.
}
});
// firebase code is running, now change scene
SceneManager.LoadScene("blah");
}
【问题讨论】:
标签: c# android firebase unity3d