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

2022-09-03 03:04:44

我在这里有点不知所措。我一直在看到这些数量稳步增加。我怀疑随着Droid所有者2.2升级的增加,杀币剂的增加,尽管这只是一个猜测。我自己从未见过崩盘,市场提供的堆栈跟踪也没有提到我写的任何类。因此,我不知道从哪里开始解决问题。NullPointerExceptionhandleStopActivity

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,并通知用户有待售的新商品。它通过在单独的进程中运行的服务来实现此目的。服务和主活动通过 aidl 接口和回调相互通信。我还在服务和活动中都使用消息处理程序,并经常为昂贵的任务生成线程。


答案 1

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

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

当您注册最终调用的侦听器并且未在 中取消注册这些侦听器时,通常会发生这种情况。finish()onPause()


答案 2

向Android项目报告错误怎么样(如果其他人报告了错误,请强制检查)?如果堆栈跟踪中没有来自 You 的代码,则表示框架中存在 bug。虽然也许在你的其他代码中,你打破了例如一个不言而喻的契约/假设。


推荐