我没有太多的信息要说明,因为报道没有评论我的游戏在崩溃发生时的哪个部分正在播放,但是从那里我站起来,应该是不可能的得到这个错误。
这是stackTrace:
java.lang.RuntimeException: Canvas: trying to use a recycled bitmap
android.graphics.Bitmap@44d37950 at
android.graphics.Canvas.throwIfRecycled(Canvas.java:955) at
android.graphics.Canvas.drawBitmap(Canvas.java:1044) at
bladequest.graphics.DrawObject.render(DrawObject.java:81)
我收到的错误是,在第77行和第81行(单独的堆栈跟踪)中,程序中的某些位置正在使用可回收的位图
但是,这是我的代码:
case Bmp1:
if(bmp != null && !bmp.isRecycled())
canvas.drawBitmap(bmp, f1, f2, p);
break;
case Bmp2:
if(bmp != null && !bmp.isRecycled())
canvas.drawBitmap(bmp, r1, r2, p);
break;
如何将循环的位图用于绘制调用???
答案 0 :(得分:0)
原因可能是onDraw
方法被调用,如果你想回收位图,并避免这个错误,建议覆盖onDraw
方法,在提取中,你需要检查
bmp != null && !bmp.isRecycled()