[英]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.