开发者

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜