我的活动遇到了这个奇怪的问题。我确信其原因已记录在某处,但到目前为止我的搜索努力都是徒劳的。
总结问题 - myonCreate()
在活动处于暂停状态时被调用。根据我见过的所有生命周期流程图——这永远不会发生。
这是(我认为)我清单中的相关信息:
<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()
被调用 - 为什么会发生这种情况?
如果不是因为我将一个相当大的内存缓存初始化为片段并且对于随后的启动 findFragmentByTag 返回 null,我什至可能都不会注意到onCreate()
,即使存在于恢复状态的应用程序已经创建这和我结束了一个OutOfMemory
例外。
希望有人可以阐明这一点。
谢谢,
刘