为了账号安全,请及时绑定邮箱和手机立即绑定

Android / google ANR 崩溃,没有特定原因

Android / google ANR 崩溃,没有特定原因

慕桂英546537 2021-10-20 16:09:22
我有以下来自 android 的崩溃报告:> java.lang.RuntimeException:    at> android.app.ActivityThread.performLaunchActivity> (ActivityThread.java:2822)   at> android.app.ActivityThread.handleLaunchActivity> (ActivityThread.java:2897)   at android.app.ActivityThread.-wrap11> (Unknown Source)   at android.app.ActivityThread$H.handleMessage> (ActivityThread.java:1598)   at android.os.Handler.dispatchMessage> (Handler.java:105)   at android.os.Looper.loop (Looper.java:251)   at> android.app.ActivityThread.main (ActivityThread.java:6572)   at> java.lang.reflect.Method.invoke (Native Method)   at> com.android.internal.os.Zygote$MethodAndArgsCaller.run> (Zygote.java:240)   at com.android.internal.os.ZygoteInit.main> (ZygoteInit.java:767)我的项目中没有突出显示特定的类/文件/行,也没有调试 android 时通常会期望的“由”行。谷歌搜索任何一行似乎只会让我想到关于空指针异常的问题,这不是(无论如何我已经知道如何调试这些问题,所以请不要指责我调试空指针)。我真正需要一些建议的是从哪里开始调试/重新创建这个非常有限的跟踪崩溃。有趣的是(也许)它只在 android 8.0 上报告 > 但在各种设备上
查看完整描述

2 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

ANR 是应用程序无响应的缩写。Android开发者网站对调试这些文章在这里。要理解的关键是,这意味着您的应用程序正在执行一些在 UI 线程上需要很长时间的事情。常见的cuplrit有:

  • 使用网络

  • 使用磁盘

  • 一些密集的计算

  • 访问数据库

你知道这正在发生android.app.ActivityThread.performLaunchActivity

幸运的是,Android 是开源的,所以如果你谷歌“android source performLaunchActivity”,你会发现源代码是最重要的结果。

您可以看到这是启动您的应用程序的代码。因此,您的应用程序启动中的某些内容运行非常缓慢。你可以做很多事情来调查这个:

  • 在您的应用程序启动中查找访问磁盘、网络或数据库的代码并将其移动到后台线程

  • 在严格模式下运行您的应用程序,这将警告您的不良行为

  • 上面链接的文章中有更多提示。


查看完整回答
反对 回复 2021-10-20
?
www说

TA贡献1775条经验 获得超8个赞

ANR,应用程序无响应,当您的应用程序在主线程上做太多工作时发生,通常是由于磁盘或网络 I/O。

试着检查一下。我想你可以StrictMode调试它


查看完整回答
反对 回复 2021-10-20
  • 2 回答
  • 0 关注
  • 205 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信