android活动生命周期回调和状态

时间:2015-03-29 13:42:30

标签: android android-activity activity-lifecycle

请帮助我更深入地了解活动。 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()?
}

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

  
    

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

  
     

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

从技术上讲,Activity在调用onResume()之前处于恢复状态,但是您覆盖onResume()方法的选项允许您微调需要的内容在Activity进入'运行'之前完成州。换句话说,从操作系统的角度来看,Activity已恢复,然后调用onResume(),最后,从您自己的个人应用程序的角度来看,恢复{{1}当Activity完成并且onResume()正在运行时,表示已完成。

  

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

同样,同样的逻辑也适用 - 操作系统会通过启动Activity然后调用Activity来自定义onStart()的起始阶段所需的操作。操作系统认为Activity在调用Activity之前已经启动,但从您应用的角度来看,它已经完全启动,直到您覆盖的任何代码{{1}方法。