【发布时间】:2011-10-10 02:39:43
【问题描述】:
我有一个错误让我疯狂了好几天。不幸的是,我无法向您展示代码有两个原因,我的老板不会欣赏它,并且代码库太大而无法分享。只要活动完成,就会发生错误。天气是因为我调用了 finish() 还是因为操作系统破坏了它。
问题是,什么是(或可能)导致 FragmentManagerImpl 中的 execPendingActions() 在第 1196 行抛出 NPE。
这是堆栈跟踪:
FragmentManagerImpl.execPendingActions() line: 1196
FragmentManagerImpl$1.run() line: 375
Handler.handleCallback(Message) line: 587
Handler.dispatchMessage(Message) line: 92
Looper.loop() line: 126
ActivityThread.main(String[]) line: 3997
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 491
ZygoteInit$MethodAndArgsCaller.run() line: 841
ZygoteInit.main(String[]) line: 599
NativeStart.main(String[]) line: not available [native method]
【问题讨论】:
-
我认为您确实需要发布一些代码...
-
我不能。只需将问题想象为“什么可能导致 NPE 在 FragmentManagerImpl 的第 1196 行被抛出”
-
是针对每一项活动还是仅针对这一项?你能至少描述一下代码在做什么吗?
-
只有两个活动 - Main 和 Preferences,8 个 Fragments,以及 25 个左右的类和一个服务。 Main 大约有 600 行,它是唯一在退出时崩溃的行。
-
@Gallal 您可以尝试使用兼容库并对其进行调试。或者尝试在精简的示例应用中重现。
标签: android android-activity nullpointerexception android-fragments activity-lifecycle