Android - SurfaceView 中的奇怪崩溃

问题描述

我在 Firebase 中遇到了这些奇怪的异常(我假设它们是同一回事),但我无法调试它。即使我与获得它的用户之一拥有相同的设备,它也从未发生在我身上。此外,我似乎无法在 requestTransparentRegionGlSurfaceView 的源代码中找到方法 SurfaceView

有帮助解决这个问题吗?

安卓 9

Fatal Exception: java.lang.NullPointerException
Attempt to invoke interface method 'void android.view.ViewParent.requestTransparentRegion(android.view.View)' on a null object reference
android.view.SurfaceView.onAttachedToWindow (SurfaceView.java:236)
android.opengl.GLSurfaceView.onAttachedToWindow (GLSurfaceView.java:610)
android.view.View.dispatchAttachedToWindow (View.java:18359)
android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:1773)
android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1471)
android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:7211)
android.view.Choreographer$CallbackRecord.run (Choreographer.java:1004)
android.view.Choreographer.doCallbacks (Choreographer.java:816)
android.view.Choreographer.doFrame (Choreographer.java:751)
android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:990)
android.os.Handler.handleCallback (Handler.java:873)

安卓 10

Fatal Exception: java.lang.NullPointerException
Attempt to invoke interface method 'void android.view.ViewParent.requestTransparentRegion(android.view.View)' on a null object reference
android.view.SurfaceView.onAttachedToWindow (SurfaceView.java:249)
android.opengl.GLSurfaceView.onAttachedToWindow (GLSurfaceView.java:611)
android.view.View.dispatchAttachedToWindow (View.java:20186)
android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2085)
android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1778)
android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:7894)
android.view.Choreographer$CallbackRecord.run (Choreographer.java:1041)
android.view.Choreographer.doCallbacks (Choreographer.java:864)
android.view.Choreographer.doFrame (Choreographer.java:798)
android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:1026)
android.os.Handler.handleCallback (Handler.java:883)
android.os.Handler.dispatchMessage (Handler.java:100)

我的 GlSurfaceView 子类

public class MyGlSurfaceView extends GLSurfaceView {

    public MyRenderer myRenderer;

    public MyGlSurfaceView(Context context){
        super(context);
        init(context);
    }

    public MyGlSurfaceView(Context context,AttributeSet set){
        super(context,set);
        init(context);
    }

    void init(Context context){
        setPreserveEGLContextOnPause(true);
        setZOrderOnTop(true);
        setEGLConfigChooser(8,8,16,0);
        getHolder().setFormat(PixelFormat.RGBA_8888);

        setEGLContextClientVersion(2);
        myRenderer = new MyRenderer(this);
        setRenderer(myRenderer);
        setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY);

    }

}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)