我遇到了这个奇怪的问题与我的活动。我相信为什么会有这种记录,但我的搜索努力迄今为止都是徒劳的。更多活动生命周期混淆
总结这个问题 - 我的onCreate()
在活动处于暂停状态时被调用。根据我所见的所有生命周期流程图 - 这绝不应该发生。
这里是(我认为)从我的清单中的相关信息:
<activity
android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:mimeType="text/xml" />
<data android:mimeType="application/xml" />
<data android:pathPattern=".*\\.xml" />
</intent-filter>
</activity>
比方说,我通过点击图标来启动通常的方式我的应用程序。然后我点击主页按钮。我可以看到操作系统调用onPause()
- 但不是onDestroy()
- 这是我所期望的。
如果此时我找到一个xml文件并使用我的应用程序打开它,我看到onCreate()
被调用 - 为什么会发生这种情况?
我可能甚至不会注意到,如果不是因为我的onCreate()
将一个相当大的内存缓存初始化为一个片段,并且对于此后续启动,findFragmentByTag将返回null,即使应用程序存在于恢复状态已经创建了这个,我最终以OutOfMemory
例外。
希望有人能够对此发表看法。
感谢,
卢
http://stackoverflow.com/questions/8515936/android-activity-life-cycle-what-are-all-these-methods-for –