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

And*_*per 9 android android-lifecycle

我正在我的Android应用程序中实现Analytics,我想知道什么时候打电话 super.onPause()

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

super.onPause();
Run Code Online (Sandbox Code Playgroud)

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

一般来说,何时应该打电话super.onPause()

bas*_*i82 18

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

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

  • 以下是文档的链接:http://developer.android.com/guide/components/activities.html (3认同)

m0s*_*it0 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
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,如果不需要,则无需覆盖它。如果您要覆盖它,请不要在此处进行缓慢的进程,否则您可能会收到 ANR。

  • 正如下面的 @Bastami1982 所​​指出的,应在任何其他代码之前调用 super.onPause() 。他提到的参考可以在这里找到:http://developer.android.com/guide/components/activities.html (4认同)

归档时间:

查看次数:

6262 次

最近记录:

8 年,6 月 前