所以事情是这样的。在我的firebase面板中,我得到了关于我的Android应用中的以下NullPointerException的报告。
Exception java.lang.NullPointerException: Attempt to invoke interface method 'float com.badlogic.gdx.Graphics.getDeltaTime()' on a null object reference
blue.rtrngames.papersorcery.PaperSorcery.render (PaperSorcery.java:86)
有问题的那行是我的渲染方法的第一行,它看起来像这样。
@Override
public void render()
{
tick(Gdx.graphics.getDeltaTime()); // <- this is the line
所以Gdx.graphics在那里是空的。这种情况只发生在大约1%的用户身上,就在启动后,即使如此,似乎也是完全罕见的,并不是每次都会发生。我无法重现这种崩溃,它根本不会发生在我身上。
我应该怎么做呢?我无法想象仅仅实现null-check会有什么帮助,因为如果Gdx.graphics是null的话,一定是出了什么问题。我想游戏会一直呈现黑屏或类似的情况吧?
确保你的Gdx上下文已被初始化。
换句话说,不要叫任何 Gdx.(...)
方法,直到您的 create()
方法开始执行