【发布时间】:2019-04-09 17:09:43
【问题描述】:
我在 Play 商店中收到了一些崩溃报告,起初我觉得这很疯狂。 由于 NullPointerException,某些活动(在 1 种情况下是广播接收器)在 onCreate()/onResume() 中崩溃。
这些活动使用静态方法,而这些方法又使用 Application 单例 [for context],但返回的对象为 null,就像应用程序对象根本不存在一样。据我了解,应用程序应该始终有一个实例。
我的代码很普通,应用在其onCreate()中设置了一个静态字段,Activity调用的类使用MyApplication.getInstance()返回应用对象。
MyApplication.getInstance() 从活动调用时如何返回 null?我不知道这是怎么发生的。
当然,我无法复制这次崩溃。 这主要发生在 Android 6 中,但我有一些来自 Android 8 和 9 的报告。
【问题讨论】:
-
为什么需要应用上下文?您可以改用您的活动的上下文吗?取决于应用程序上下文通常不是您想要做的事情。
标签: android crash android-lifecycle application-lifecycle