我们的移动应用发布在Google Play商店中,崩溃和ANR报告在Firebase Crashlytics中生成,ANR如下所示。
0 www.example.com(系统调用+28)libc.so (syscall+28)
1 www.example.com(项目::条件变量::等待保持锁(项目::线程 )+140)libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread)+140)
2 www.example.com(项目::线程列表::等待其他非守护进程线程退出(布尔值)+336)libart.so (art::ThreadList::WaitForOtherNonDaemonThreadsToExit(bool)+336)
3 www.example.com(项目编号::JII::销毁JavaVM(_JavaVM )+32)libart.so (art::JII::DestroyJavaVM(_JavaVM)+32)
4. so(机器人::机器人运行时::开始(字符常量 *,机器人::向量机器人::字符串8常量&,布尔值)+1032)
5个应用程序_process64(主程序+1368)
6(库初始化+96)libc.so (__libc_init+96)
这个ANR是什么意思?
先谢谢你。
1条答案
按热度按时间vngu2lb81#
您发布的堆栈跟踪显示了导致崩溃的一系列函数调用。这些函数以相反的顺序列出,第一个函数是导致崩溃的函数。
1 syscall:这是一个低级系统调用,它执行各种操作系统任务。
2 art::线程列表::等待其他非守护进程线程退出:此函数等待所有非守护进程线程退出。art::ConditionVariable::WaitHoldingLocks:此函数在持有锁的同时等待满足某个条件。
3艺术::JII::销毁JavaVM:当Java虚拟机(JVM)被销毁时,将调用此函数。
4安卓系统::安卓系统运行时间::开始:此函数负责启动Android运行时。
这些函数提供了ANR发生时所发生情况的大致轮廓,但要完全了解并解决该问题,您需要分析完整的崩溃转储和日志文件。