【问题标题】:android activity lifecycle callbacks and statesandroid 活动生命周期回调和状态
【发布时间】:2015-03-29 13:42:29
【问题描述】:

请帮助我更深入地了解活动 lyfecycle。 http://developer.android.com/guide/components/activities.html#ImplementingLifecycleCallbacks 他们说:

活动的前台生命周期发生在调用 onResume() 和对 onPause() 的调用。

这是否意味着,在调用 onResume() 之后,或者在 onResume() 完全完成它的工作之后,该活动会在某个时刻恢复? 关于可见状态和 onStart 的类似问题。 如果第二个是正确的(方法完全完成了它的工作),那么 super.method() 还是由我在活动类中覆盖?

    @Override
protected void onResume() {
    super.onResume();
    // is it now "resumed" after super.onResume()?
}

【问题讨论】:

标签: android android-activity activity-lifecycle


【解决方案1】:

“活动的前台生命周期”是指它直接显示给用户的时间。这也意味着目前它的进程在 Android 进程优先级阶梯上具有最高优先级。你应该阅读这个http://developer.android.com/guide/components/processes-and-threads.html 此外,onResume()onPause()... 只是钩子,您应该在其中插入需要在活动生命周期的特定时刻执行的代码。

【讨论】:

    【解决方案2】:

    活动的前台生命周期发生在对 onResume() 的调用和对 onPause() 的调用之间。

    这是否意味着,在调用 onResume() 之后,或者在 onResume() 完全完成它的工作之后,该活动会在某个时刻恢复?

    从技术上讲,Activity 在调用onResume() 之前处于恢复状态,但您可以选择覆盖onResume() 方法,让您可以微调在@987654324 之前需要完成的操作@ 进入“运行”状态。换句话说,从操作系统的角度来看,Activity 被恢复,然后onResume() 被调用,最后,从您自己的个人应用程序的角度来看,当 @ 时恢复 Activity 完成987654328@ 已完成,Activity 正在运行。

    关于可见状态和 onStart 的类似问题。如果第二个是正确的(方法完全完成了它的工作),那么 super.method() 还是由我在活动类中覆盖?

    同样,同样的逻辑适用 - 操作系统会执行启动 Activity 所需的操作,然后调用 onStart() 让您自定义 Activity 的启动阶段。操作系统认为 Activity 在调用 onStart() 之前已经启动,但从您的应用的角度来看,直到您在覆盖的 onStart() 方法中包含任何代码,它才完全启动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-13
      • 2011-12-18
      • 1970-01-01
      • 2012-04-15
      • 2014-09-26
      • 1970-01-01
      相关资源
      最近更新 更多