叠加位图时出现错误android.graphics.Canvas.throwIfRecycled

叠加位图时出现错误android.graphics.Canvas.throwIfRecycled,android,canvas,bitmap,nullpointerexception,Android,Canvas,Bitmap,Nullpointerexception,我尝试使用以下方法在画布上覆盖图像: 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(

我尝试使用以下方法在画布上覆盖图像:

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)


有人能帮忙吗?

我在尝试将位图绘制到画布时遇到了相同的trowIfRecycled异常。在程序开始初始化位图之前,我正在尝试绘制一个我启动的线程。所以在我的例子中:位图是空的,我必须找一个更好的地方进行初始化

虽然这是一个老问题,但我发现这是我的解决方案

他们建议的地方

尝试在eclipse中进行清理。有时它似乎在缓存,可能会感到困惑。这似乎解决了这个特殊案例的问题


顺便说一句,这种情况时有发生。我正在从互联网上下载图像,并根据特定条件用一个框架覆盖每个图像。bmp1是我下载的图像,bmp2是我覆盖它们的帧。你确定bmp1不是空的吗?现在读你的评论让我做一个掌纹。我会给你回复的,但我相信我在try/catch中提到了这个方法。在这种情况下,它应该在我的尝试/捕获范围之外。稍后会有更多细节。谢谢毛里塔尼亚是的,你解决了吗?我也有同样的问题(而且很难测试/复制)