Android java.lang.RuntimeException:画布:尝试使用回收的位图,无法跟踪确切位置

Android java.lang.RuntimeException:画布:尝试使用回收的位图,无法跟踪确切位置,android,android-activity,bitmap,runtimeexception,bitmapfactory,Android,Android Activity,Bitmap,Runtimeexception,Bitmapfactory,在我的应用程序中,我在多个位置/活动中使用位图,并在相应的活动销毁时回收所有位图。 我已经提到了异常的完整堆栈跟踪,很明显,由于仍然使用回收的位图,出现了异常,但我无法跟踪该类或位图。有谁能帮助我在我的应用程序中跟踪崩溃的位置吗 java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@42d3c090 at android.graphics.Canvas.

在我的应用程序中,我在多个位置/活动中使用位图,并在相应的活动销毁时回收所有位图。 我已经提到了异常的完整堆栈跟踪,很明显,由于仍然使用回收的位图,出现了异常,但我无法跟踪该类或位图。有谁能帮助我在我的应用程序中跟踪崩溃的位置吗

java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@42d3c090
       at android.graphics.Canvas.throwIfCannotDraw(Canvas.java:1084)
       at android.view.GLES20Canvas.drawBitmap(GLES20Canvas.java:844)
       at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:490)
       at android.widget.ImageView.onDraw(ImageView.java:1019)
       at android.view.View.draw(View.java:14465)
       at android.view.View.getDisplayList(View.java:13362)
       at android.view.View.getDisplayList(View.java:13404)
       at android.view.View.draw(View.java:14182)
       at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
       at android.view.View.draw(View.java:14468)
       at android.view.View.getDisplayList(View.java:13362)
       at android.view.View.getDisplayList(View.java:13404)
       at android.view.View.draw(View.java:14182)
       at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
       at android.view.View.draw(View.java:14468)
       at android.support.v4.view.ViewPager.draw(ViewPager.java:2156)
       at android.view.View.getDisplayList(View.java:13362)
       at android.view.View.getDisplayList(View.java:13404)
       at android.view.View.draw(View.java:14182)
       at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
       at android.view.View.draw(View.java:14468)
       at android.view.View.getDisplayList(View.java:13362)
       at android.view.View.getDisplayList(View.java:13404)
       at android.view.View.draw(View.java:14182)
       at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
       at android.view.View.draw(View.java:14468)
       at android.view.View.getDisplayList(View.java:13362)
       at android.view.View.getDisplayList(View.java:13404)
       at android.view.View.draw(View.java:14182)
       at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
       at android.view.View.getDisplayList(View.java:13357)
       at android.view.View.getDisplayList(View.java:13404)
       at android.view.View.draw(View.java:14182)
       at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
       at android.view.View.getDisplayList(View.java:13357)
       at android.view.View.getDisplayList(View.java:13404)
       at android.view.View.draw(View.java:14182)
       at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
       at android.view.View.draw(View.java:14468)
       at android.widget.FrameLayout.draw(FrameLayout.java:472)
       at android.view.View.getDisplayList(View.java:13362)
       at android.view.View.getDisplayList(View.java:13404)
       at android.view.View.draw(View.java:14182)
       at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
       at android.support.v4.widget.DrawerLayout.drawChild(DrawerLayout.java:769)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
       at android.view.View.getDisplayList(View.java:13357)
       at android.view.View.getDisplayList(View.java:13404)
       at android.view.View.draw(View.java:14182)
       at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
       at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
       at android.view.View.draw(View.java:14468)
       at android.widget.FrameLayout.draw(FrameLayout.java:472)
       at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2326)
       at android.view.View.getDisplayList(View.java:13362)
       at android.view.View.getDisplayList(View.java:13404)
       at android.view.HardwareRenderer$GlRenderer.buildDisplayList(HardwareRenderer.java:1570)
       at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:1449)
       at android.view.ViewRootImpl.draw(ViewRootImpl.java:2377)
       at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2249)
       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1879)
       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:996)
       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5600)
       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
       at android.view.Choreographer.doCallbacks(Choreographer.java:574)
       at android.view.Choreographer.doFrame(Choreographer.java:544)
       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
       at android.os.Handler.handleCallback(Handler.java:733)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:136)
       at android.app.ActivityThread.main(ActivityThread.java:5034)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:515)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
       at dalvik.system.NativeStart.main(NativeStart.java)

这是我第一次发帖/提问,所以请忽略语言。

在画布中使用位图时,编写以下代码以防止此类异常

if (mBitmap != null && !mBitmap.isRecycled()) {
    //Write code to show bitmap to canvas
}else{
    //write code to recreate bitmap from source
    //Write code to show bitmap to canvas
}

您可能需要显示一些相关的代码。@ci\u如果可能有多个包,并且日志没有显示异常来自何处,他如何显示相关的代码???如果我看不到该异常是从何处引发的,则在何处写入?@codetolive您需要在不再使用位图的情况下编写。就像你们可以在方法的结尾或者你们的片段不可见的时候写一样。是的,但。。。我的意思是,这种位图有多次使用,使用后会被回收,但其中一个动画或绘图(也很多)或任何使用位图的东西(ex-或隐式)都会通过这个错误。我无法追踪《代码的和平》中的内容。那只logcat没有道理。我想找到一些替代工具,比如profiler。我认为这是一个非常具体的话题,我已经把它列为主角。我认为你可以用“”来识别你的泄密。这可能有助于识别。