我在这里有点不知所措。我已经看到NullPointerException
中这些handleStopActivity
的数量稳步增加。我怀疑随着2.2升级到Droid用户的增加而增加了coinicides,尽管这只是猜测。我自己从未见过崩溃,市场提供的堆栈跟踪没有提到我写过的任何类。因此,我不知道从哪里开始解决问题。
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接口和回调相互通信。我还在服务和活动中使用消息处理程序,并经常为昂贵的任务生成线程。
答案 0 :(得分:2)
回顾这个4岁的问题,我意识到我应该能够诊断它,但不幸的是我无法找到这些线路匹配的任何AOSP版本。 Droid必须使用一些不可用的源的更改版本。
那就是说,Froyo的handleStopActivity()
没有很多机会获得空指针异常。当活动已经停止或正在停止时,最有可能指向Activity.finish()
。
这通常发生在您注册最终调用finish()
并且您未在onPause()
中注销这些侦听器的侦听器时。
答案 1 :(得分:1)
如何向Android项目报告错误(会检查是否有其他人报告错误)?如果您的代码中没有代码在堆栈跟踪中,则表示框架中存在错误。虽然可能在你的其他代码中你打破例如一个未说明的合同/假设。
答案 2 :(得分:0)
请参阅此问题的答案。看起来像一个已知的问题,也有一个解决方案。 希望它有所帮助...
NullPointerException on onSaveInstanceState with AndroidFragments
答案 3 :(得分:0)
我不知道,如果你还在寻找解决方案,但这就是我发现的。如果您找到了真正的解决方案,请告诉我。
我刚遇到同样的问题..我从来没有遇到过这个问题而且没有更改代码,它出现了一些原因。通过使用谷歌,我发现约瑟夫发布的问题,但这似乎并不完全相同。我还找到了this和this。这两个似乎有相同的问题,但没有解决方案..然后我找到了this blog。
作者讲述了它的来源 - Android中的一个错误。此外,它与Cursor
有关。这并没有解决我的问题,但我注意到,在调用Cursor
之前我使用了startActivity(someIntent);
几行(我也称为finish()
,但删除该行没有差异)
我试图删除包含Cursor
的行,然后突然再次起作用。
我不知道,为什么它有效,但确实如此。我刚刚将Cursor
的代码移到我的其他Activity
。
这绝对不是一个好的解决方案,但它对我有用。
还有一个问题:您是否使用Cursor
并致电startActivity(..)
或类似的东西?
修改强>
我刚刚发现,我没有解决问题,我只是测试不够。我开始的Activity
运行良好,直到我想要创建我之前开始的Activity
中的下一个Activity
。在开始下一个Activity
时,我的应用程序再次崩溃。
答案 4 :(得分:-2)
也许尝试在try-catch块中包装方法handleStopActivity并自己处理错误,为自己提供更多细节并防止“强制关闭”?