ANR申请

时间:2015-07-28 08:31:43

标签: android android-studio google-analytics

我知道这个问题可能很少被问过,但我找不到有效的答案。 在我的logcat中,我得到了

D/AndroidRuntime﹕ Shutting down VM
W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x418337c0)

表示我在某处发生了崩溃,但我无法在日志中看到它,没有关于崩溃的更多信息。 我试过了

  1. adb server -kill,adb server-start。
  2. 我在任务管理器中关闭了来自proccess的adb并关闭了AndroidStudio并再次启动了所有内容(我也尝试重启Windows)。 我在我的应用程序中使用CrashLytics,但我也没有收到崩溃,但是TestFairy能够最终给我一些信息,即应用程序ANR和下一个日志(抱歉凌乱的日志)< / LI>

    java.lang.Object.wait(Native Method)

    java.lang.Thread.parkFor(Thread.java:1231)
        sun.misc.Unsafe.park(Unsafe.java:323)
        java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
        java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:813)
        java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:846)
        java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1176)
        java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:185)
        java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:261)
        com.google.android.gms.analytics.zzx.zzfj(Unknown Source)
        com.google.android.gms.analytics.GoogleAnalytics.zzfj(Unknown Source)
        com.google.android.gms.analytics.ExceptionReporter.uncaughtException(Unknown Source)
        java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
        java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
        dalvik.system.NativeStart.main(Native Method)
    

    所以我试图搜索一下,有人说在尝试报告另一次崩溃时GoogleAnalytics可能会崩溃。所以我禁用了这段代码

    UncaughtExceptionHandler myHandler = new ExceptionReporter(
                    mTracker,Thread.getDefaultUncaughtExceptionHandler(),
                    getContext().getApplicationContext());
            Thread.setDefaultUncaughtExceptionHandler(myHandler);
    

    我知道在尝试打开片段之后发生了这个问题,但是当我调试片段时尚未启动。 问题是我仍然看不到更多信息,那么如何查看日志或更多信息?谢谢,抱歉很长的帖子。

1 个答案:

答案 0 :(得分:0)

如果您在UI线程上运行一个需要很长时间(通常约为5秒)的进程,则会发生ANR。在此期间,GUI(图形用户界面)将锁定,这将导致用户按下的任何内容都不会被操作。在大约发生5秒之后,如果线程仍然没有恢复,则显示ANR对话框,通知用户应用程序没有响应,并且将给用户选择等待,希望应用程序最终将恢复,或强行关闭应用程序。