ANR堆栈:
Input dispatching timed out (Waiting to send key event because the focused window has not finished processing all of the input events that were previously delivered to it. Outbound queue length: 0. Wait queue length: 2.)
"main" tid=1 Native
"main" prio=5 tid=1 Native
| group="main" sCount=1 dsCount=0 flags=1 obj=0x73056ad0 self=0x78122a3a00
| sysTid=20046 nice=-10 cgrp=default sched=0/0 handle=0x78171f79b0
| state=S schedstat=( 7479347944 793149495 9121 ) utm=657 stm=90 core=2 HZ=100
| stack=0x7fff6b9000-0x7fff6bb000 stackSize=8MB
| held mutexes=
#00 pc 0000000000069800 /system/lib64/libc.so (__epoll_pwait+8)
#01 pc 000000000001f6c0 /system/lib64/libc.so (epoll_pwait+48)
#02 pc 0000000000015c80 /system/lib64/libutils.so (_ZN7android6Looper9pollInnerEi+144)
#03 pc 0000000000015b68 /system/lib64/libutils.so (_ZN7android6Looper8pollOnceEiPiS1_PPv+108)
#04 pc 000000000011a5dc /system/lib64/libandroid_runtime.so (???)
#05 pc 00000000002014ac /system/framework/arm64/boot-framework.oat (Java_android_os_MessageQueue_nativePollOnce__JI+140)
at android.os.MessageQueue.nativePollOnce (MessageQueue.java)
at android.os.MessageQueue.next (MessageQueue.java:379)
at android.os.Looper.loop (Looper.java:144)
at android.app.ActivityThread.main (ActivityThread.java:7523)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:245)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:921)
Java代码:dEmptyOperation类扩展自AsyncTask。refreshList方法包括一个volley post请求
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
// .. if statement codes
new dEmptyOperation() {
@Override
protected String doInBackground(String... params) {
if (main.refreshActivity != null) {
try {
main.refreshActivity.refreshList();
main.refresh = false;
}catch (Exception ignored){
}
}
return null;
}
}.execute("");
//..
}
如果没有看到你的代码,我就无法准确地说出正在发生的事情。但是,我认为您在当前活动中调用了一个方法,该方法正在主线程中进行大量工作,这就是在使用ANR时的大多数情况下的原因。
您可以使用AsyncTask
轻松地避免这种情况。每次处理某些数据时创建AsyncTask
,并在数据处理完毕时处理活动中的回调。
下面是关于如何创建asynctask
并处理活动中的回调的一个很好的答案。
我在android 11上有这个ANR。我无法找到任何合适的解决方案,即使通过它非常复杂的堆栈跟踪来理解。如有任何帮助,我们将不胜感激。 堆栈跟踪: # 00 PC 000000000007590 c/apex/com . Android . runtime/lib 64/bionic/libc . so(syscall 28)# 00 PC 0000000001 b067c/apex/com .
我已经开始从许多代码位置收到几个奇怪的ANR报告(应用程序没有响应)。 null
可以为用户输入设置计时器吗?等待10秒钟-进行下一步操作等。我的意思是例如
问题内容: 可以为用户输入设置计时器吗?等待10秒-进行下一个操作等。例如 问题答案: 不是开箱即用,不。通常,只有当另一个线程关闭基础流或到达输入的末尾时,Reader才会中断read()调用。 由于read()并非具有所有可中断性,因此这成为并发编程问题。知道超时的线程将需要能够中断正在尝试读取输入的线程。 本质上,读取线程将必须轮询Reader的ready()方法,而不是在没有要读取的内容时
我有与K8s集成的集群自动缩放器,工作节点从0缩放。我希望每个节点不调度超过2个豆荚。我在库贝莱特等级上设置了吊舱限制。当我用4个吊舱并行运行5个作业时,它限制扩展3个节点,但它试图只在2个节点和一个吊舱上调度,以减少到期限制。在K8S中是否有调度限制参数?只在特定时间(一些睡眠参数)后安排豆荚?当所有工人都准备好时,我们需要等待
本文向大家介绍仅几行iOS代码限制TextField输入长度,包括了仅几行iOS代码限制TextField输入长度的使用技巧和注意事项,需要的朋友参考一下 网上有很多限制textField输入长度方法,但是我觉得都不是很完美,准确来说可以说是不符合实际开发的要求,因此在这里整理一下textField限制输入长度的方法. 我所采用的并不是监听方法而是最不同的代理实现方法,为什么不使用监听呢???