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 № 1Creo 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?