首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在android.os.MessageQueue.nativePollOnce的ANR

在android.os.MessageQueue.nativePollOnce的ANR
EN

Stack Overflow用户
提问于 2022-03-15 07:04:45
回答 3查看 12.9K关注 0票数 62

我们在应用程序的不同部分看到了这个ANR。想知道这是什么原因吗?

代码语言:javascript
运行
复制
main (native): tid=1 systid=31940
#00 pc 0x5431c libc.so 
#01 pc 0x1313a5 libart.so 
#02 pc 0x2ab05b libart.so 
#03 pc 0x3659 libnativehelper.so 
#04 pc 0x9dee9 libandroid_runtime.so 
#05 pc 0x65c45 libgui.so 
#06 pc 0x11dcd libutils.so 
#07 pc 0x11abf libutils.so 
#08 pc 0xbcc7d libandroid_runtime.so 
       at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
       at android.os.MessageQueue.next(MessageQueue.java:339)
       at android.os.Looper.loop(Looper.java:199)
       at android.app.ActivityThread.main(ActivityThread.java:8276)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:612)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1006)

这就是火力基地要说的话-

此线程在发生ANR时处于空闲状态。我们没有足够的信息来确定根本原因。

EN

回答 3

Stack Overflow用户

发布于 2022-08-17 06:33:06

面对同样的问题--我读到过它与广告或统一广告有关,谷歌有一个开放的帖子:https://issuetracker.google.com/issues/230950647?pli=1

票数 4
EN

Stack Overflow用户

发布于 2022-09-06 09:22:00

在最新发布的云消息传递依赖项v23.0.7 Firebase中,提到此版本可能会减少。下面是他在文档中提到的话。

消息广播在绑定到服务后立即结束。这一变化应该会减少ANRs的发生机会。

票数 3
EN

Stack Overflow用户

发布于 2022-10-10 05:07:55

NativePollOnce:

当CPU正在等待新的任务/消息时,它就会出现。

原因:

  1. 如果BroadCast接收器在10秒内未完成执行,则可能发生ANR。
  2. 5秒内没有对输入事件的响应。
  3. 当应用程序试图错误地显示对话框时,可能会导致ANR,但调用不是来自主线程。(注意:验证UI线程对UI视图的所有调用)
  4. 这种情况可能是由于内存泄漏造成的。
  5. Handler.postDelayed可能会产生问题
  6. 这种类型的崩溃是常见的,当堆栈转储发生时,一些应用程序的堆栈跟踪可能在实际ANR时间之后很长一段时间内被转储
  7. 这可能发生在SCREEN_ON广播和谷歌广告使用SCREEN_ON广播。

收集ANR的方法:

  1. WatchDog
  2. 捕捉土生土长
  3. ApplicationExitInfo (由破碎机使用)
  4. 从Google控制台收集
  5. Firebase (firebase仅从android 11及以上系统收集)

在解决ANR中的挑战:

解开ANR的谜团。链接

解决方案:

  1. 优化初始化和Ad加载。链接
  2. 如果您使用的是媒体,那么在IO线程中发布它
  3. 使用泄漏金丝雀或Android分析器查找内存泄漏。
  4. 将火力基础降至28.4.2 (它不会收集ANR,但这并不意味着它不会发生)
  5. 验证UI线程对UI视图的所有调用
  6. 问题跟踪器提供更多信息
  7. 更多信息堆栈Ans

帮助信贷

穆扎米尔·侯赛因

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71478162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档