代码之家  ›  专栏  ›  技术社区  ›  Hong

为什么加载?负载有时导致Android ANR?

  •  1
  • Hong  · 技术社区  · 8 年前

    我基本上是从 Google's official Consent SDK .

    虽然它在大多数情况下没有任何问题,但有时会导致anr。它正在成为一个重要的原因。我假设consentForm.load必须在UI线程上运行。有治疗方法吗?

    ANR:

    输入调度超时(等待发送非关键事件),因为 触摸窗口还没有完成某些输入事件的处理 早在500.0毫秒前就送到了这里。等待队列长度:2。等待 队列头年龄:6676.6ms。)

    "main" tid=1 Native 
    "main" prio=5 tid=1 Native
      | group="main" sCount=1 dsCount=0 obj=0x74f5ef98 self=0xb8114c60
      | sysTid=18557 nice=-4 cgrp=default sched=0/0 handle=0xb6f28b34
      | state=S schedstat=( 1288189187 190774336 1785 ) utm=89 stm=39 core=0 HZ=100
      | stack=0xbe594000-0xbe596000 stackSize=8MB
      | held mutexes=
      #00  pc 0000000000016a6c  /system/lib/libc.so (syscall+28)
      #01  pc 00000000000f60bb  /system/lib/libart.so (_ZN3art17ConditionVariable4WaitEPNS_6ThreadE+82)
      #02  pc 00000000003e4a23  /system/lib/libart.so (_ZN3artL12GoToRunnableEPNS_6ThreadE+502)
      #03  pc 00000000000e56dd  /system/lib/libart.so (_ZN3art12JniMethodEndEjPNS_6ThreadE+8)
      #04  pc 0000000000183663  /data/app/com.google.android.webview-1/oat/arm/base.odex (Java_org_chromium_content_browser_framehost_NavigationControllerImpl_nativeLoadUrl__JLjava_lang_String_2IILjava_lang_String_2IILjava_lang_String_2Lorg_chromium_content_1public_common_ResourceRequestBody_2Ljava_lang_String_2Ljava_lang_String_2Ljava_lang_String_2ZZZ+342)
      at org.chromium.content.browser.framehost.NavigationControllerImpl.nativeLoadUrl (NavigationControllerImpl.java)
      at org.chromium.content.browser.framehost.NavigationControllerImpl.loadUrl (NavigationControllerImpl.java:67)
      at org.chromium.android_webview.AwContents.loadUrl (AwContents.java:496)
      at org.chromium.android_webview.AwContents.loadUrl (AwContents.java:375)
      at org.chromium.android_webview.AwContents.loadUrl (AwContents.java:380)
      at com.android.webview.chromium.WebViewChromium.loadUrl (WebViewChromium.java:227)
      at android.webkit.WebView.loadUrl (WebView.java:894)
      at com.google.ads.consent.ConsentForm.load (ConsentForm.java:271)
    
    0 回复  |  直到 8 年前