为什么 java Android 中的 super.onDestroy() 在析构函数中名列前茅?

2022-08-31 16:24:53

根据哪种逻辑,析构函数处于最顶部?例如:super.onDestroy();

protected void onDestroy() {        
    super.onDestroy();
    releaseMediaPlayer();
}

而不是:

protected void onDestroy() {        
    releaseMediaPlayer();
    super.onDestroy();
}

就像在c ++,obj-c,pascal等中一样?


答案 1

这实际上取决于您想在.这就是 super.onDestroy 所做的(按此顺序):onDestroy

  • 关闭活动正在管理的任何对话框。
  • 关闭活动正在管理的所有游标。
  • 关闭任何打开的搜索对话框

如果你放在里面的逻辑与Android所做的这三件事有关,那么你可能不得不担心订单。否则,在大多数情况下,这并不重要。onDestroy


答案 2

在 ThreadSample.zip在 Report Work Status 训练中,onDestroy() 中有一个注释

public void onDestroy() {
    ...
    // Must always call the super method at the end.
    super.onDestroy();
}

因此,也许在使用广播接收器时,超级必须放在最后。


推荐