【问题标题】:Unity with Firebase freezes after compile (AssetDatabase.Refresh)编译后 Unity with Firebase 冻结 (AssetDatabase.Refresh)
【发布时间】:2020-11-16 23:00:03
【问题描述】:

添加侦听 Firestore 数据库更新的功能后,每当 AssetDatabase 刷新时,我的 Unity-Firebase 应用程序就会崩溃。查看我看到的错误日志

0x00007FFD2F8F6D06 (FirebaseCppApp-6_16_1) SWIGRegisterStringCallback_StorageInternal

还有其他一些 Firebase 访问错误。这仅在将 ListenerRegistration 添加到 firestore 文档后才会发生,即使侦听器注册是 .Dispose()d。

【问题讨论】:

    标签: firebase unity3d google-cloud-firestore


    【解决方案1】:

    我将其发布到 SO 是因为我花了很多天时间才解决这个问题,但没有找到解决一个基本问题来源的有用信息:Unity Getting Started Docs 从未通知您使用 FirebaseApp.Dispose()

    我的解决方案很简单,但发现并非如此:

    // During initialization:
    firebaseApp = FirebaseApp.DefaultInstance;
    
    // Clean up when quitting app
        private void OnApplicationQuit() {
            listenerRegistration.Dispose();  // Any event listener must be disposed
            firebaseApp.Dispose();  // the base firebase app must be disposed
        }
    

    【讨论】:

    • 如果你们还没有,您介意在github.com/firebase/quickstart-unity/issues 将此作为错误提交吗?我可以代表你做,但如果团队可以在需要时直接沟通会更容易。您应该不必在正常工作流程下在 Firebase 上调用 .Dispose,团队可能希望将此视为错误。如果您愿意,请随时将他们引用到此评论或在 GitHub 上标记我 (@patm1987)。
    • @PatrickMartin 会的。感谢您在 Firebase 上所做的所有出色工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-30
    • 1970-01-01
    • 2023-02-19
    • 1970-01-01
    相关资源
    最近更新 更多