我发现调试版本与发布版本之间的应用程序行为不同:
在调试中,按下主页按钮后重新打开应用程序时,会调用onResume。 (onCreate未被调用)。
在制作(发布版本)中,当按下主页按钮时,首先重新打开应用程序调用onCreate。
差异引入了一个错误,因为我在onCreate中设置了一个标志。问题:哪一个是正确的行为?我是否能够以与调试版本相同的方式使我的版本构建工作(在按下主页按钮后重新打开应用程序时不调用onCreate)?
答案 0 :(得分:1)
在调试中,按下主页按钮后重新打开应用程序时,onResume 叫做。 (onCreate未被调用)。
设置 - >开发者选项 - >应用部分。 "不要保持活动" - 默认为关闭。
我怀疑" 在按下主页按钮后重新打开应用"你的活动只在后台进行,通常不应该被破坏,因此不应该调用onCreate。所以调试模式正如预期的那样工作。
在发布模式下,你有一些东西可以杀死你的活动,他什么时候在后台。可以是代码的一部分,可能是缺失的翻译或某处的无法处理的异常,你应该得到ANR或" aplication意外退出"
我建议在文件中尝试一些日志,或检查在发布模式下会发生什么。
可以是另一个应用程序 - 甚至来自Android操作系统 - 它会检测你的应用程序进入后台,所以它会杀死它以在内存中腾出更多空间,但他并没有杀掉调试应用程序..