2012-07-06 70 views
1

在我的onCreate方法中,在某些活动中出现NullPointerException。这很难调试,因为它只会在闲置很长一段时间后才会发生。长时间闲置后重新启动Android活动 - > NullPointerException

这可能是因为活动已经结束,垃圾收集器已经销毁了一些共享对象,但我不确定。

我该如何处理这个问题?

感谢的

+0

在这里发布你的日志猫 – MAC 2012-07-06 14:52:28

+0

这将有助于看到一些代码,但你总是可以做一些空指针检查并设置默认值... – javajavajava 2012-07-06 14:52:34

+0

“这可能是因为活动已结束,垃圾收集器已经摧毁了一些共享对象,但我不确定。“ - “可能。”这是任何人都可以用你提供的有关情况的最少信息做的最好的。 – 2012-07-06 14:55:18

回答

3

活动没有“结束”了一段闲置后,他们不要被垃圾回收器回收。会发生什么是操作系统杀死你的整个过程。然后,当用户返回活动时,操作系统重新创建该进程并仅重新创建活动堆栈上的最高活动。所以如果你有任何可能由其他活动设置的静态(类)变量,那么所有这些东西都已经消失了。

将代码发布在您的onCreate()中,并指出发生NullPointerException的位置(查看您的logcat)。

+0

感谢您的回答,我在这里没有登录猫,但我认为主要问题是我用来在我的活动之间共享对象的方法。我正在使用全局对象列表,每个对象都有一个键,而不是Parcelable的东西。你认为Parcelable可能是答案吗? – Fr4nz 2012-07-06 16:33:32

+0

除非您发布错误或代码,否则我们无法为您提供帮助。 – 2012-07-08 09:21:34

相关问题