何时调用 super.onPause()?

问题描述 投票:0回答:2

我正在我的 Android 应用程序中实施 Analytics,我想知道何时调用

super.onPause()

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

super.onPause();

做上传动作之后调用

super.onPause()
和之前有什么效果?

一般什么时候打电话

super.onPause()
?

android android-lifecycle
2个回答
20
投票

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

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


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。

© www.soinside.com 2019 - 2024. All rights reserved.