/ / NullPointerException GLES20RecordingCanvas.drawBitmap 4.0.3 & 4.0.4 - android, desempenho

NullPointerException GLES20RecordingCanvas.drawBitmap 4.0.3 & 4.0.4 - android, desempenho

Eu vi relatórios de falhas do meu aplicativo em jogoloja e, eu não tenho idéia sobre esse problema. Eu quero entender que se eu usar "hardwareAccelerated false", é um método útil? ou qual é a razão deste problema? Como posso resolver este problema? dispositivos que têm 4.0.3 e 4.0.4 se depararam com esse acidente

log de falhas: 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)

Obrigado.

Respostas:

0 para resposta № 1

Eu acredito que você pode consertar este problema usando um dos drawBitmap métodos que aceita como argumento o retânguloda imagem de origem que você deseja renderizar. É um bug em algumas versões específicas do Android, onde o comportamento padrão de desenhar a imagem inteira para a tela não funciona.

Supondo que você quer todo o bitmap desenhado, seu código pode ser assim:

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

0 para resposta № 2

Se você usa animação, talvez possa tentar postar "remover a exibição" para o thread da interface do usuário? Eu conheci a mesma pilha que você. Mas acho que esta é a causa raiz.

Como remover uma vista quando a animação termina?