我注意到片段的onDestroy()方法被多次调用 - 为什么会这样?我只期待一次电话。
答案 0 :(得分:1)
onDestroy()
=您的活动被销毁之前收到的最后一个电话。
这可能是因为活动正在结束(有人在其上调用finish()
,或者因为系统暂时销毁此活动实例以节省空间。
您可以使用isFinishing()
方法区分这两种情况。
答案 1 :(得分:0)
Activity
或Fragment
多次获得onDestroy()
次是正常的。例如,当您更改设备方向时,当前Activity
会经过onDestroy()
,然后同一Activity
的新实例将通过onCreate()
,现在处于新方向
你可能会对finish()
感到困惑,当Activity
本身被“杀死”时会被调用,而当你远离它时只会发生一次。