什么时候调用super.onPause()?

时间:2013-01-15 21:51:13

标签: android android-lifecycle

我正在我的Android应用程序中实现Google Analytics,我想建议何时致电super.onPause()

if (mAnalyticsSession != null) {
    mAnalyticsSession.close();
    mAnalyticsSession.upload();
}

super.onPause();

在执行上传操作与之前调用super.onPause()会产生什么影响?

一般情况下,应该何时致电super.onPause()

2 个答案:

答案 0 :(得分:15)

所选答案不正确,(我知道这是一个老问题,但对于新读者来说这是正确的方法:在Super.onPause或Super.OnStart之后添加您的代码,...... 以下是您的问题的Android参考(直接链接在评论中):

  

来自活动的报价:   在执行任何工作之前,您对这些生命周期方法的实现必须始终调用超类实现。

答案 1 :(得分:4)

您只能在自己的super.onPause()覆盖中调用Activity.onPause()

public class YourActivity extends Activity {

    @Override
    public void onPause() {
        super.onPause();
        // Do your stuff, e.g. save your application state
    }

}

请注意,如果您不需要,则无需覆盖它。如果你要覆盖它,那么不要在这里制作慢进程,否则你可能会得到一个ANR。