【问题标题】:Why is unity OnApplicationPause called twice on android?为什么统一 OnApplicationPause 在 android 上调用了两次?
【发布时间】:2015-06-23 05:36:16
【问题描述】:

我有一个带有OnApplicationPause 的简单游戏对象(主UI 对象),它在调试日志中打印出Pause 状态(true/false)。 当我在android上run它,然后按主页Button离开应用程序时,我看到OnApplicationPause()连续调用twice,与pauseStatus相同(真的)。当我重新打开应用程序时也会发生同样的情况:OnApplicationPause 被调用两次,Pause 状态为 false。

为什么它被调用了两次,我可以避免它吗?我做错了什么吗?

我还尝试创建一个单独的 GameObject,其中包含相同的调试代码。该问题不会在那里发生 - 仅在我的主 UI 对象中。

【问题讨论】:

    标签: android unity3d duplicate-removal onresume onpause


    【解决方案1】:

    当暂停发生时,您是否 100% 确定包含 OnApplicationPause() 方法的脚本不会在场景中出现两次?还是出现在DontDestroyOnLoad GameObject 上的前一个场景中?

    当暂停发生时,每个活动的MonoBehaviour 都会调用OnApplicationPause

    所以拥有两个Debug.Log 意味着如果你不自己手动调用它,两个脚本实例正在运行。

    【讨论】:

    • 你说得对:脚本与场景中的 2 个不同对象相关联(但不知道为什么,代码来自第 3 方统一包,其中包括此演示场景、对象、脚本等)。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 2013-11-20
    • 2019-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多