onCreate没有在调试版本中调用?

时间:2017-10-25 18:01:58

标签: android oncreate onresume

我发现调试版本与发布版本之间的应用程序行为不同:

在调试中,按下主页按钮后重新打开应用程序时,会调用onResume。 (onCreate未被调用)。

在制作(发布版本)中,当按下主页按钮时,首先重新打开应用程序调用onCreate。

差异引入了一个错误,因为我在onCreate中设置了一个标志。问题:哪一个是正确的行为?我是否能够以与调试版本相同的方式使我的版本构建工作(在按下主页按钮后重新打开应用程序时不调用onCreate)?

1 个答案:

答案 0 :(得分:1)

  

在调试中,按下主页按钮后重新打开应用程序时,onResume   叫做。 (onCreate未被调用)。

  • 这是完全正确的行为!

设置 - >开发者选项 - >应用部分。 "不要保持活动" - 默认为关闭。

我怀疑" 在按下主页按钮后重新打开应用"你的活动只在后台进行,通常不应该被破坏,因此不应该调用onCreate。所以调试模式正如预期的那样工作。

在发布模式下,你有一些东西可以杀死你的活动,他什么时候在后台。可以是代码的一部分,可能是缺失的翻译或某处的无法处理的异常,你应该得到ANR或" aplication意外退出"

我建议在文件中尝试一些日志,或检查在发布模式下会发生什么。

可以是另一个应用程序 - 甚至来自Android操作系统 - 它会检测你的应用程序进入后台,所以它会杀死它以在内存中腾出更多空间,但他并没有杀掉调试应用程序..