为什么onCreate被调用两次但是在我的Activity中两个onCreate之间没有调用onDestroy?

时间:2013-10-31 07:21:07

标签: android

我的团队编写了一个复杂的LBS /聊天应用程序,有一个MainActivity作为主要显示活动。 当这个MainActivity开始时,第一次调用“onCreate”。 当我切换到其他几个应用程序并返回到我的应用程序的MainActivity时,第二次调用“onCreate”。 但是从未调用过MainActivity的“onDestroy”。

一些指针(Singleton / Global,不属于任何活动)将“auto”设置为null,不受我的控制,这会导致我的app问题。

某些模块/类是否包含对MainActivity的引用或其他一些原因?

我需要帮助-_-!

感谢所有能给我一些提示的人。

谢谢!

2 个答案:

答案 0 :(得分:2)

OnCreate在活动圈生活中只召唤一次。 如果您的应用程序处于后台并返回到前台,那么再次创建调用的唯一原因是操作系统会终止此活动。 您可以使用onSaveInstanceState()保存数据。

答案 1 :(得分:0)

当您开始活动时,会调用此函数:onCreate()onStart()onResume(),当您转到其他活动时,onPause()会被调用。

如果您想致电onDestroy()到您的应用,则必须致电this.finish();但是,当您致电this.finish()时,您必须在应用中处理onBackPress()

我希望这对你有用