我希望我能获得有关此错误的更多信息,但我没有。我有一个名为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)

有趣的是,所有错误实例均来自:
  • BLU DASH 4.0
  • 他们都 Root 于
  • 他们都关闭了移动网络
  • 他们都有至少12个正在运行的应用程序

  • 所以你怎么看?
  • 有人在HardwareRenderer类中拥有NPE吗?
  • 可能是“root”问题(即,设备被root的问题)吗?
  • 可能是“硬件”问题(即BLUE DASH 4.0的问题)吗?

    最佳答案

    问题在于代码使用的是空对象。

    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)中包含代码,并从堆栈中调用路由,因为这是导致异常的原因。

  • 10-06 14:12