我正在我的Android应用程序中实现Google Analytics,我想建议何时致电super.onPause()
if (mAnalyticsSession != null) {
mAnalyticsSession.close();
mAnalyticsSession.upload();
}
super.onPause();
在执行上传操作与之前调用super.onPause()
会产生什么影响?
一般情况下,应该何时致电super.onPause()
?
答案 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。