Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建android生命周期事件_Android_Android Jetpack - Fatal编程技术网

创建android生命周期事件

创建android生命周期事件,android,android-jetpack,Android,Android Jetpack,如果你跟随链接 您将看到在两种情况下引发CREATED事件 1) onCreate之后(可以理解) 2) 就在上台之前(等等什么?) 为什么生命周期会在启动之前引发已创建的事件?首先,已创建的不是事件,而是活动状态。给定的文档意味着在调用onCreate()后,将创建活动(然后在调用onResume()后恢复)。调用activity onStop()时,activity再次被创建(在本例中已创建但未恢复)。小心,您将状态与事件混淆了 状态(枚举值):已创建、已销毁、已初始化、已恢复、已启动 还请

如果你跟随链接 您将看到在两种情况下引发CREATED事件

1) onCreate之后(可以理解) 2) 就在上台之前(等等什么?)


为什么生命周期会在启动之前引发已创建的事件?

首先,已创建的不是事件,而是活动状态。给定的文档意味着在调用onCreate()后,将创建活动(然后在调用onResume()后恢复)。调用activity onStop()时,activity再次被创建(在本例中已创建但未恢复)。

小心,您将状态与事件混淆了

状态(枚举值):已创建、已销毁、已初始化、已恢复、已启动

还请检查以下内容:

当配置发生更改时,活动将被销毁并重新创建。原始活动实例将触发onPause()、onStop()和onDestroy()回调。将创建新的活动实例并触发onCreate()、onStart()和onResume()回调


因此,考虑到可能的状态,当调用onStop时,CREATED是最适合的状态。起初,我对国家和事件感到困惑。然而,现在我有一个不同的困惑。不为STOPPED提供单独状态的原因是什么?因为调用onstop时活动被破坏,因此它不能有状态,因为它不再存在,但是我们能想出任何理由来解释为什么android团队不为我们提供单独的STOPPED状态来消除混乱吗?。将活动的生命周期状态视为已创建(即使在其已停止时)和已启动(即使在其已暂停时)似乎有些奇怪,因为此“已停止”状态将与已创建状态完全相同。通过考虑:(不太活跃)初始化->创建->启动->恢复(更活跃),您可以了解所有这些状态。last=>DESTROYED(dead)。我认为更好的解释是,在调用onStop之后,活动被销毁,因此它不再具有任何状态,因此创建了一个新实例,state=CREATED@Phil调用onStop()后,活动不会被销毁,它只是返回到创建状态。当用户再次切换到此活动时,无需再创建另一个实例,只需重新使用旧实例即可。@Phil在用户按back键或配置更改的情况下,onStop()之后会立即调用onDestroy(),然后活动实例将被销毁。如果只触发了onStop(),如按下home键或startActivity()以显示另一个活动,则当前活动将保留在那里。