Android活动生命周期回调

时间:2012-09-07 18:32:08

标签: android android-activity

活动生命周期回调是否必须成对实施?

e.g。

  • 如果您覆盖onCreate,还必须覆盖onDestroy
  • 如果您覆盖onStart,还必须覆盖onStop
  • 如果您覆盖onResume,还必须覆盖onPause

即。如果您实施onCreate但是省略实施onDestroy,那么您的应用会崩溃吗?

成对实施是一种好的做法,还是根本不重要(只是实施你需要的东西)?

2 个答案:

答案 0 :(得分:4)

只实现您的需求。其他人将自动从超类(Activity)调用。如果需要在生命周期的那一点添加功能,则只应覆盖它们。通常,如果您正在处理onPause()中的某些内容,那么您可能还会在onResume()中处理逆操作。但事实并非总是如此。

编辑:通过编辑,不看代码,我猜您忘记了对super.onStart()super.onResume()的通话。如果没有,请发布您的实现并发现崩溃的堆栈跟踪。

答案 1 :(得分:2)

没有。您不需要 来成功覆盖生命周期方法。

但是如果你需要显式释放你在一个方法中创建的变量,那么在匹配方法中释放它是有意义的。


  

如果您实施onCreate但是省略实施onDestroy会导致您的应用程序崩溃吗?

Stack Overflow上的重复问题涉及closing SQLiteDatabases。许多程序员在onCreate()中打开他们的数据库,但忘记在onDestory()中关闭它们。