gpt4 book ai didi

android - ANR 正在执行服务 com.example.app/com.google.android.gms.analytics.AnalyticsService

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:47:05 24 4
gpt4 key购买 nike

有时,在长时间未使用我的应用程序后,当我尝试打开它时,我会收到 ANR。在 google play 控制台中,我得到以下信息:

ANR Executing service my.site.app/com.google.android.gms.analytics.AnalyticsService

显然问题出在 AnalyticsService 中。但是当我的设备连接到我的计算机时,我无法重现 ANR。而且我在分析帐户中没有看到 ANR。

这是我的应用程序类:

public class BaseApp extends Application {
public static GoogleAnalytics analytics;
public static Tracker tracker;

@Override
public void onCreate() {
analytics = GoogleAnalytics.getInstance(this);
analytics.setLocalDispatchPeriod(1800);
analytics.setDryRun(Constants.IS_DEBUG);
GoogleAnalytics.getInstance(this).getLogger().setLogLevel(Logger.LogLevel.VERBOSE);

tracker = analytics.newTracker(Constants.GOOGLE_ANALYTICS_TRACKER_ID);
tracker.enableExceptionReporting(true);
tracker.enableAdvertisingIdCollection(true);
tracker.enableAutoActivityTracking(true);

super.onCreate();
}
}

然后在我的 BaseActivity 类中:

@Override
public void onStart() {
super.onStart();

sendScreenStat();
}

protected String getScreenStatName() {
return getTitle().toString();
}

private void sendScreenStat() {
BaseApp.tracker.setScreenName(getScreenStatName());
BaseApp.tracker.send(new HitBuilders.ScreenViewBuilder().build());
}

可能是什么原因?

最佳答案

因为 Activity 生命周期方法在 UI 线程上运行。确保对后台线程可能需要很长时间的不同操作。特别是在后台线程(AsyncTask 或专用线程)上运行的 sendScreenStat 和跟踪器创建。在此处查看更多详细信息:http://blog.akquinet.de/2010/02/17/android-activities-the-predominance-of-the-ui-thread/

关于android - ANR 正在执行服务 com.example.app/com.google.android.gms.analytics.AnalyticsService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30995465/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com