Error android.graphics.Canvas.throwIfRecycled when overlaying bitmaps
Im trying to overlay images on a canvas using the following method:
private Bitmap overlay(Bitmap bmp1, Bitmap bmp2) {
b开发者_运维百科mOverlay = Bitmap.createBitmap(70, 70, Bitmap.Config.RGB_565);
canvas = new Canvas(bmOverlay);
canvas.drawBitmap(bmp1, 0, 0, null); //line 179
canvas.drawBitmap(bmp2, 0, 0, null);
return bmOverlay;
}
However, my app keeps crashing and the log reads:
java.lang.NullPointerException at android.graphics.Canvas.throwIfRecycled(Canvas.java:954) at android.graphics.Canvas.drawBitmap(Canvas.java:980) at com.MyApp.overlay(MyApp.java:179)
Can anyone help?
I had the same trowIfRecycled exception while trying to draw a bitmap to a canvas. I was trying to draw in a thread I started, before the program got around to initializing the bitmap. So in my case: bitmap was null and I had to look for a better place to do the initializing.
Although this in an old question, I found this to be the solution for me. http://nowherenearithaca.blogspot.com/2011/06/solved-bizarre-null-pointer-thrown-in.html
where they suggest
Try doing a clean in eclipse. It seems to be caching sometimes and can get confused. That seemed to solve it for this particular case.
精彩评论