覆盖位图时出现错误android.graphics.Canvas.throwIfRecycled

我试图覆盖使用以下方法在canvas上的图像:

private Bitmap overlay(Bitmap bmp1, Bitmap bmp2) { bmOverlay = 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; } 

但是,我的应用程序不断崩溃,日志读取:

java.lang.NullPointerException在android.graphics.Canvas.throwIfRecycled(Canvas.java:954)在android.graphics.Canvas.drawBitmap(Canvas.java:980)在com.MyApp.overlay(MyApp.java:179)

谁能帮忙?

Solutions Collecting From Web of "覆盖位图时出现错误android.graphics.Canvas.throwIfRecycled"

我尝试绘制位图到canvas时,有相同的trowIfRecycledexception。 我试图画一个线程,我开始,在程序开始初始化位图之前。 所以在我的情况下:位图是空的,我不得不寻找一个更好的地方做初始化。

虽然这在一个古老的问题,我发现这是我的解决scheme。 http://nowherenearithaca.blogspot.com/2011/06/solved-bizarre-null-pointer-thrown-in.html

他们build议的地方

尝试在Eclipse中做一个干净的。 它似乎有时会caching,可能会感到困惑。 这似乎解决了这个特殊情况。

我也有这个相同的堆栈跟踪,我试图从线程事情等find一个解决scheme,但后来我发现,我从来没有在我的代码中分配位图variables。