繁体   English   中英

异常的Android活动生命周期

[英]Unusual android activity lifecycle

我写了一个游戏,在市场日志中有时会看到以下模式:

06:02:13:835|INFO|1|MainActivity|MainActivity#2.OnCreate
06:02:13:932|INFO|1|MainActivity|MainActivity#2.OnStart
06:02:14:010|INFO|1|MainActivity|MainActivity#2.OnResume
...
06:09:27:688|INFO|1|MainActivity|MainActivity#2.OnPause
06:09:28:895|INFO|1|MainActivity|MainActivity#3.OnCreate
06:09:29:159|INFO|1|MainActivity|MainActivity#3.OnStart
06:09:29:319|INFO|1|MainActivity|MainActivity#3.OnResume
06:09:29:551|INFO|1|MainActivity|MainActivity#2.OnStop
06:09:29:596|INFO|1|MainActivity|MainActivity#2.OnDestroy

在销毁MainActivity实例#2之前,将创建并启动MainActivity实例#3。 这种模式是什么意思? 为什么新实例在之前的实例被销毁之前开始?

显然,我不手工创建活动。 用户只需点击图标即可开始游戏(至少我希望如此)。

活动具有singleTask启动模式。

谢谢!

不能保证调用onDestroy回调。 文档

onDestroy()=在销毁活动之前收到的最后一次呼叫。 这可能是由于活动即将完成(有人在其上称为finish()),或者因为系统正在临时销毁该活动实例以节省空间。您可以使用isFinishing()方法区分这两种情况。

假设您的应用程序有两个活动。 那么这就是生命周期

在此处输入图片说明

如果您显式调用finish(),则会调用onDestroy 您自己或喜欢示例,如果您按Back按钮,因为按back键实际上会在您的活动上触发finish()方法,这会导致您的活动被暂停->停止->被破坏

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM