草庐IT

android - 由输入调度超时引起的 ANR - 在尝试获取我的公共(public) IP 地址时

我收到以下完整错误消息:输入调度超时(等待发送非键事件,因为触摸窗口尚未完成处理超过500.0毫秒前交付给它的某些输入事件。等待队列长度:2。等待队列头年龄:9379.7ms。)请参阅下面的代码+跟踪。似乎锁定发生在GetIP_WAN.java:32,这是一行:BufferedReaderbr=newBufferedReader(newInputStreamReader(conn.getInputStream()));每当我检测到网络更改wifi-3g/4g-nointernet时,我都会调用此函数。和其他一些地方。它在任何场合都会发生,但显然更多来自网络变化检测。我通过这种方式验证公

android - 由 com.google.android.gms.DynamiteModules 引起的 ANR

我通过Facebook身份验证在我的应用程序中使用Firebase。在我的应用程序第3次重新启动后,它卡住并显示ANR(请参阅我的lastquestion)。经过一番研究后,我发现有些东西阻塞了主线程。我不知道为什么会这样。当我的应用程序运行时,下面的错误会出现几次(出现此错误时我的应用程序不会卡住)。有人有想法吗?我在下面包含了一些信息,也许它有帮助注意:测试设备(SamsungSM-G920F)上的GooglePlay服务运行版本:9.0.83(440-121911109)出现此错误:05-2802:35:56.79829479-29506/?E/DynamiteModule:Fa

android - 生成足够大的列表时出现 ANR(强制关闭/等待)

我正在创建一种文件资源管理器,如果有任何应用程序文件被复制到手机/SD卡,我会在一个带有对话框主题的Activity中向用户展示它。对于每个复制的新“app.apk”,我都会将应用程序的名称和位置附加到对话框中,并且列表是可滚动的。我的问题是,如果我立即将大约200多个应用程序复制到存储中,列表填充会给出强制关闭/等待对话框(ANR)。如何防止我的应用出现此类ANR? 最佳答案 如果一些大型计算和UI试图同时运行并且启动需要足够的时间(大约超过5秒),那么系统会要求用户关闭应用程序。为了解决这个问题,一个选择是将您的操作分配到不同的

android - RuntimeException 在 Android 中导致 ANR 而不是崩溃

我两次都遇到ANR:thrownewNullPointerException("randomnullpointer");和while(true){}只有在异常部分VM才会真正关闭(D/AndroidRuntime:ShuttingdownVM)。第二个问题是:如何强制应用程序崩溃而不是ANR并在logcat中获取堆栈跟踪?更新从ANR和崩溃之间的区别更改标题。更新它仅发生在大约3-4个月前。从那时起,找到崩溃的唯一方法就是毫无理由地将trycatchboxes放在各处。 最佳答案 我遇到了同样的问题,在调试时遇到了代码“throwR

Android 泄漏窗口 - 应用程序采用 ANR 状态

我正在使用一个使用谷歌地图的安卓应用程序。该应用程序通常运行良好。我能够在[下方]的logcat中看到一些错误。逻辑猫08-2815:37:36.945:E/WindowManager(21969):Activitycom.kod.example.Find_Tab_MainActivityhasleakedwindowcom.android.internal.policy.impl.PhoneWindow$DecorView@40929cd8thatwasoriginallyaddedhere08-2815:37:36.945:E/WindowManager(21969):androi

android - ANR keyDispatchingTimedOut 但堆栈跟踪中没有自己的类

我的Android应用程序收到有关ANRkeyDispatchingTimedOut的错误报告。令人惊讶的是,这份报告中的堆栈跟踪不包含任何我自己的类。我还检查了我的onPause()和onResume()方法,它们应该不需要很长时间。只是完成了一些资源清理,对于onPause()我希望最坏情况下的最大值为1秒(但完全由必须完成的事情导致,我会在其他地方创建内存泄漏。我会在这里发布异常(exception)情况,可能有人知道它可能来自哪里:DALVIKTHREADS:(mutexes:tll=0tsl=0tscl=0ghl=0hwl=0hwll=0)"main"prio=5tid=1N

ANR系列之二:Input类型ANR产生原理讲解

序言触发ANR的场景有几种,比如输入超时,Boradcast长时间无响应等等,具体场景和超时时间如下:本文以最常见的Input类型事件导致的ANR为例,带读者们进行详细的解读以下内容:1.介绍输入事件的ANR的判定逻辑;2.介绍发生ANR之后,ANR相关的信息是如何采集的;3.介绍ANR的logcat和trace文件在系统中是何时记录生成,以及如何解读;4.一些围绕ANR的扩展性问题讲解;注:本文以android13的源码为例进行解读的一.ANR判定逻辑1.1事件分发流程概览 了解ANR之前,一定了解事件分发的整个流程才行。这里为了方便读者的阅读,我这里简单介绍一下,如果想知道完整的流程,推荐

android - Firebase ANR - 甚至不使用 firebase

随着最近对GMS的更新,引入了新的ANR。如果您退出应用程序,然后返回,那是初始化ANR的时候。线程跟踪似乎指向Firebase,但我从未开始使用Firebase。我猜它一定是新GMS包的一部分?06-1100:34:00.143:E/ActivityManager(1487):ANRincom.myapp06-1100:34:00.143:E/ActivityManager(1487):PID:1970006-1100:34:00.143:E/ActivityManager(1487):Reason:BroadcastofIntent{act=com.google.firebase.

android - ANR com.android.vending.billing.IInAppBillingService

自从修改我的代码以使用Android计费库而不是示例应用程序中的旧IABHelper后,我收到了很多ANR以及下面的跟踪记录。任何人都知道如何解决这个问题?跟踪中没有一行我的代码。"main"prio=5tid=1Native|group="main"sCount=1dsCount=0flags=1obj=0x73b53ac0self=0x77558a3a00|sysTid=17097nice=0cgrp=defaultsched=0/0handle=0x775a8109b0|state=Sschedstat=(21526708836920738175640660)utm=1497st

android - 在 Chrome 自定义选项卡中从 WebView 打开链接时出现 ANR 对话框。我该如何调试?

我想使用Chrome自定义标签正确处理域外的URL。这是代码webView.setWebViewClient(newWebViewClient(){publicbooleanshouldOverrideUrlLoading(WebViewview,WebResourceRequestrequest){Stringurl=request.getUrl().toString();if(url.startWith("http://my.domain.name"))returnfalse;else{CustomTabsIntent.Builderbuilder=newCustomTabsInt