我希望我能获得有关此错误的更多信息,但我没有。我有一个名为BugSense
的工具(现在是Splunk MINT
),该工具将崩溃发送到远程服务器,这就是我得到的全部信息:
java.lang.NullPointerException
at android.view.HardwareRenderer$GlRenderer.checkCurrent(HardwareRenderer.java:960)
at android.view.HardwareRenderer$Gl20Renderer.destroyLayers(HardwareRenderer.java:1148)
at android.view.ViewRootImpl.destroyHardwareResources(ViewRootImpl.java:576)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:973)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2448)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4482)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
at dalvik.system.NativeStart.main(Native Method)
有趣的是,所有错误实例均来自:
所以你怎么看?
最佳答案
问题在于代码使用的是空对象。
MyClass class;
class.doStuff(); // Will throw NullPointerException as class is null
MyClass newClass = new MyClass();
newClass.doStuff(); // Will work as newClass is pointing to an object.
由于我没有令人讨厌的代码,因此我无能为力。我建议您在(HardwareRenderer.java:960)中包含代码,并从堆栈中调用路由,因为这是导致异常的原因。