我今天在玩活动生命周期。我记录了所有的生命周期方法。我正在用MainActivity
,然后突然关掉了电话。我注意到有两个方法被调用:
onPause
,
onStop
,
但是onDestroy
没有被调用。
对此有何看法?
如果by "关机";你的意思是你关掉了屏幕,你的结果是相当普遍的。由于操作系统版本和制造商的变化,设备之间会有差异,所以你不应该做任何假设。然而,我不希望你的活动被破坏。
如果by"关机"你的意思是你完全关闭了手机的电源,没有保证操作系统会花时间销毁所有正在运行的组件。同样,由于操作系统版本和制造商的变化,设备之间会有差异,所以你不应该做任何假设。
是正常的,因为:
onDestroy ()在销毁活动之前调用。系统调用这个回调,或者因为:
-
活动正在结束(由于用户完全取消活动或由于在活动上调用finish()),或
-
由于配置更改(如设备旋转或多窗口模式),系统暂时销毁活动
https://developer.android.com/guide/components/activities/activity-lifecycle ondestroy