NullPointerException в GLSurfaceView в методе onResume

132
30 сентября 2019, 14:50

Ошибку обнаружил в Гугл Плее, на устройтве или в эмуляторе у меня всё работает отлично. Вот что пишется в гугл плее

Вот код: ActivityMainSkins

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    try {
        initHideStatusBar();
        setContentView(LAYOUT);
        Intent intent = getIntent();
        mIndex = intent.getIntExtra("id",0);
        mSize = KategoryGrid.countCategorySkins[mIndex];
        initThreadPolicy();
        loadAdsAndShowBanner();


        skinLinkFile = (SkinsGrid.categoryIndex+1) +"/skins"+"/s" + (mIndex + 1) + ".png";
         initGLSurfaceView();
       getSkinsFromAssets(skinLinkFile);
       initFAB(this);
    } catch (Exception e) {
//            FirebaseCrash.report(e);
    }
}
@Override
protected void onResume() {
    super.onResume();
    this.getSkinsFromAssets(skinLinkFile);
}

ActivitySkins

 public void initGLSurfaceView() {
    //Skin 3D
    try {
        this.glSurfaceView = (SkinGLSurfaceView) this.findViewById(R.id.skins);
        this.mRenderer = new MinecraftSkinRenderer(this, R.raw.nullchar, false);
        this.glSurfaceView.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
        this.glSurfaceView.getHolder().setFormat(PixelFormat.RGBA_8888);
        this.glSurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT);
        this.glSurfaceView.setRenderer(this.mRenderer, this.getResources().getDisplayMetrics().density);
        this.glSurfaceView.setZOrderOnTop(true);
        this.glSurfaceView.setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY);
        this.mRenderer.mCharacter.SetRunning(true);
        this.progressBar = (ProgressBar) this.findViewById(R.id.progress);
        int height = (int) Math.round(ScreenSize.getHeightPX(this) * 0.52);
        int width = (int) Math.round(ScreenSize.getWidthPX(this) * 0.85);
        if (height > width) {
            width = height;
        }
        Log.d(TAG, "GLSurfaceView: Full height " + ScreenSize.getHeightPX(this));
        Log.d(TAG, "GLSurfaceView: Full width " + ScreenSize.getWidthPX(this));
        Log.d(TAG, "GLSurfaceView: height " + height);
        Log.d(TAG, "GLSurfaceView: width " + width);
        final RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(width, height);
        layoutParams.addRule(14, 14);
        layoutParams.setMargins(0, (int) Math.round(height * 0.15), 0, 0);
        final RelativeLayout relativeLayout = (RelativeLayout) this.findViewById(R.id.lnrr);
        relativeLayout.setLayoutParams(layoutParams);
        Log.d(TAG, "initGLSurfaceView: glSurfaceView");
    } catch (NullPointerException e) {
        Log.d(TAG, "NullPoint");
    }
     catch (Exception e) {
         Log.d(TAG, "exception");
    }

}
    @Override
protected void onPause() {
    super.onPause();
    glSurfaceView.onPause();
    Log.d(TAG, "onPause: glSurfaceView.onPause()");
}
@Override
protected void onResume() {
    super.onResume();
    glSurfaceView.onResume();
    Log.d(TAG, "onResume: glSurfaceView.onResume()");
}

Что может вызывать эту ошибку и как её отдебажить?

READ ALSO
Альтернатива AspectJ

Альтернатива AspectJ

Всем приветКопаюсь сейчас в AspectJ, которая привлекает возможностью применять дополнительную логику через аннотирование

103
Как отправить к REST сервису запрос с InputStream и периодически записывать в него данные

Как отправить к REST сервису запрос с InputStream и периодически записывать в него данные

Есть задача: Нужно создать клиент и REST web-сервис на java

120
Как остановить SQL запрос

Как остановить SQL запрос

Я делаю запрос в базу данных "SELECT * FROM USER_FM WHERE PHONE = ? OR EMAIL = ?"База данных ORACLE

115