为什么Unity OnApplicationPause在android上调用了两次?

时间:2015-06-23 05:36:16

标签: android unity3d duplicate-removal onresume onpause

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

为什么要两次被叫,我可以避免吗?我做错了吗?

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

1 个答案:

答案 0 :(得分:2)

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

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

OnApplicationPause

因此,如果您不自己手动调用,则有两个{​​{1}}表示正在运行两个脚本实例。