java - handleStopActivity 中的 NullPointerException -- 在堆栈跟踪中没有引用我的代码

标签 java android

在这里,我有点不知所措。我在 handleStopActivity 中看到这些 NullPointerException 的数量稳步增加。我怀疑随着 2.2 升级到 Droid 所有者的增加而增加,虽然这只是一个猜测。我自己从未见过崩溃,市场提供的堆栈跟踪没有提及我编写的任何类。因此,我不知道从哪里开始解决问题。

java.lang.NullPointerException
at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3674)
at android.app.ActivityThread.access$2600(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2153)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:144)
at android.app.ActivityThread.main(ActivityThread.java:4937)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)

由于不知道原因,也不知道该提供哪些信息来辅助诊断,所以我先来概述一下: 我的应用是 WootWatcher。它跟踪 Woot.com 并通知用户有新的待售商品。它通过在单独进程中运行的服务来实现这一点。服务和主 Activity 通过aidl接口(interface)和回调相互通信。我还在服务和 Activity 中使用消息处理程序,并经常为昂贵的任务生成线程。

最佳答案

回顾这个 4 年前的问题,我意识到我应该能够诊断它,但不幸的是,我找不到与这些行匹配的任何 AOSP 版本。 Droid 一定使用了一些未提供的源代码的更改版本。

也就是说,Froyo 的 handleStopActivity() 没有太多机会出现空指针异常。当 Activity 已经停止或正在停止时,最有可能指向 Activity.finish()

这通常发生在您注册最终调用 finish() 的监听器并且您没有在 onPause() 中取消注册这些监听器时。

关于java - handleStopActivity 中的 NullPointerException -- 在堆栈跟踪中没有引用我的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3513859/

相关文章:

android - ImageView 9 补丁可绘制,填充线不受尊重

c# - 禁用默认 Android 键盘上的按键

java - 传递和设置 boolean 值 - Java/Android

java - 游戏循环中断

java - JPM [err] 找不到 Java VM

android - 添加的 View 将 RecyclerView 作为父 View ,但 View 不是真正的 subview

尝试调用 powershell 脚本时 Java 程序挂起

java - 从 Java 中的 xml 元素读取 CDATA 时出现错误

android - SmsManager 在使用 Android 4.0 的设备上发送消息两次

android - 在我的应用程序中支持 Android 2.x 平板电脑的最佳方式是什么?