【发布时间】:2017-11-28 15:04:34
【问题描述】:
我正在制作一个活动,当活动因方向变化而被破坏时记录一条消息。
我想做的是在活动被破坏的那一刻调用Log.d()UPON。
换句话说,我不想在重新创建活动后通过检查savedInstanceState==null 来调用它。
有没有办法在我到达onDestroy() 之前知道活动被破坏的原因?谢谢
【问题讨论】:
标签: android android-activity rotation orientation
我正在制作一个活动,当活动因方向变化而被破坏时记录一条消息。
我想做的是在活动被破坏的那一刻调用Log.d()UPON。
换句话说,我不想在重新创建活动后通过检查savedInstanceState==null 来调用它。
有没有办法在我到达onDestroy() 之前知道活动被破坏的原因?谢谢
【问题讨论】:
标签: android android-activity rotation orientation
【讨论】:
如果我理解正确,您想在销毁活动之前记录一些内容。 根据 lyfecyle 活动图,此时您应该这样做。
在您的活动中,您可能必须在超级调用之前覆盖 onDestroy 方法和调用日志。
@Override
public void onDestroy() {
//log
Log.d()
super.onDestroy();
}
编辑: 胡安是对的,正如文档所述: “在某些情况下,系统会简单地终止 Activity 的宿主进程,而不会在其中调用此方法(或任何其他方法),因此不应使用它来执行打算在进程消失后保留的事情。 "
https://developer.android.com/reference/android/app/Activity.html#onDestroy%28%29
【讨论】: