我有以下来自 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”,你会发现源代码是最重要的结果。
您可以看到这是启动您的应用程序的代码。因此,您的应用程序启动中的某些内容运行非常缓慢。你可以做很多事情来调查这个:
在您的应用程序启动中查找访问磁盘、网络或数据库的代码并将其移动到后台线程
在严格模式下运行您的应用程序,这将警告您的不良行为
上面链接的文章中有更多提示。
添加回答
举报
0/150
提交
取消