1

我正在尝试为我的 android 应用程序使用 flurry。它说我应该在 onStart() 和 onStop() 方法中放入混乱的代码。我的代码中没有这些方法。我有两个活动,并且都只使用 onCreate() 和 onDestroy() 方法。我可以把flurry代码放进去吗?会有什么问题吗?

4

2 回答 2

3

onStart() 和 onStop() 是处理活动生命周期的一部分的方法,因此您可以毫无问题地将它们添加到活动中。

@Override
protected void onCreate(...) {
    super.onCreate(...);
            ...
}

@Override
protected void onStart() {
    super.onStart();
    FlurryAgent.onStartSession(this, "your_key");
}

@Override
public void onStop()
{
   super.onStop();
   FlurryAgent.onEndSession(this);
}
于 2011-11-30T00:51:34.953 回答
3

onStart并且onStop是 上的现有方法Activity,就像onCreate. 如果您想在活动生命周期的这些点添加功能,您可以像之前那样覆盖它们onCreate

public class MyActivity extends Activity {
    @Override
    protected void onStart() {
        super.onStart();
        FlurryAgent.onStartSession(this, "FLURRYKEY");
    }

    @Override
    public void onStop()
    {
       FlurryAgent.onEndSession(this);
       super.onStop();
    }
}

onCreate并且onDestroy不是用于 Flurry 会话跟踪的适当方法对,因为onDestroy不能保证被调用。请参阅 上的文档onDestroy。您最终可能会遇到应用程序被系统杀死的情况,Flurry 会认为会话仍在进行。

在某些情况下,系统会简单地终止 Activity 的宿主进程,而不会在其中调用此方法(或任何其他方法),因此不应使用它来执行打算在进程消失后保留的事情。

于 2011-11-30T01:21:50.083 回答