/ / NullPointerException GLES20RecordingCanvas.drawBitmap 4.0.3 y 4.0.4 - android, rendimiento

NullPointerException GLES20RecordingCanvas.drawBitmap 4.0.3 & 4.0.4 - Android, rendimiento

vi informes de fallos de mi aplicación en juegotienda y, no tengo idea sobre este problema. Quiero entender que si uso "hardware falso acelerado", ¿es un método útil? o cuál es la razón de este problema? Como puedó resolver esté problema. los dispositivos que tienen 4.0.3 y 4.0.4 se encontraron con este bloqueo

registro de fallos: https://gist.github.com/semihozkoroglu/30be3fda7257d002e2fe

java.lang.NullPointerException
at android.view.GLES20RecordingCanvas.drawBitmap(GLES20RecordingCanvas.java:118)
at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:393)
at android.view.View.draw(View.java:10968)
at android.view.ViewGroup.drawChild(ViewGroup.java:2887)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
at com.slidingmenu.lib.CustomViewAbove.dispatchDraw(CustomViewAbove.java:1067)
at android.view.View.draw(View.java:10986)
at android.view.View.getDisplayList(View.java:10422)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2597)
at android.view.View.getDisplayList(View.java:10385)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2597)
at android.view.View.getDisplayList(View.java:10385)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2597)
at android.view.View.getDisplayList(View.java:10385)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2597)
at android.view.View.getDisplayList(View.java:10385)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2597)
at android.view.View.getDisplayList(View.java:10385)
at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:849)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:1910)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1634)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
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:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)

Gracias.

Respuestas

0 para la respuesta № 1

Creo que puede solucionar este problema utilizando uno de los drawBitmap métodos que aceptan como argumento el rectángulode la imagen de origen que desea renderizar. Es un error en algunas versiones específicas de Android, donde el comportamiento predeterminado de dibujar toda la imagen en el lienzo no funciona.

Suponiendo que desea dibujar todo el mapa de bits, su código podría verse así:

canvas.drawBitmap(bitmap, new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()), bitmapPosition, paint);

0 para la respuesta № 2

Si usa animación, ¿tal vez pueda intentar publicar "eliminar la vista" en el hilo de la interfaz de usuario? Conocí la misma pila que tú. Pero creo que esta es la causa raíz.

¿Cómo eliminar una vista cuando termina la animación?