为什么 unity OnApplicationPause 在 android 上被调用了两次?
Why is unity OnApplicationPause called twice on android?
我有一个带有 OnApplicationPause
的简单游戏对象(主要 UI 对象),它在调试日志中打印出 Pause
状态 (true/false)
。
当我 run
它在 android 上,然后按主页 Button
离开应用程序时,我看到 OnApplicationPause()
被连续调用 twice
,相同 pauseStatus
(真)。当我重新打开应用程序时也会发生同样的情况:OnApplicationPause
被调用两次,Pause
状态为 false。
为什么会被调用两次,我可以避免吗?我做错了什么吗?
我还尝试创建一个单独的 GameObject,其中包含相同的调试代码。那里没有出现问题 - 仅出现在我的主要 UI 对象中。
您是否 100% 确定包含 OnApplicationPause()
方法的脚本在发生暂停时不会在场景中出现两次?或出现在 DontDestroyOnLoad
游戏对象的先前场景中?
当暂停发生时,OnApplicationPause 在每个活动 MonoBehaviour
上被调用。
所以有两个 Debug.Log
意味着两个脚本实例 运行 如果你不自己手动调用它的话。
我有一个带有 OnApplicationPause
的简单游戏对象(主要 UI 对象),它在调试日志中打印出 Pause
状态 (true/false)
。
当我 run
它在 android 上,然后按主页 Button
离开应用程序时,我看到 OnApplicationPause()
被连续调用 twice
,相同 pauseStatus
(真)。当我重新打开应用程序时也会发生同样的情况:OnApplicationPause
被调用两次,Pause
状态为 false。
为什么会被调用两次,我可以避免吗?我做错了什么吗?
我还尝试创建一个单独的 GameObject,其中包含相同的调试代码。那里没有出现问题 - 仅出现在我的主要 UI 对象中。
您是否 100% 确定包含 OnApplicationPause()
方法的脚本在发生暂停时不会在场景中出现两次?或出现在 DontDestroyOnLoad
游戏对象的先前场景中?
OnApplicationPause 在每个活动 MonoBehaviour
上被调用。
所以有两个 Debug.Log
意味着两个脚本实例 运行 如果你不自己手动调用它的话。