我有4个活动A,B,C和D.为什么我得到画布:试图使用回收的位图android.graphics?
活动A有一个菜单。其中一个选项打开具有列表视图的Activity D。 活动A通过按钮打开活动B.活动B通过按钮打开活动C.
活动C有4个ImageViews,我完成后回收它们。
当我做以下情形每一件事情是确定:
甲 - >乙--back到 - >一个 - 单击菜单去d - >OK
当我做了以下情况我得到这个致命异常:
A - > B - > C -back to - > B --back to - > A - 点击菜单去D - >get例外
没有关系在活动D和C之间,但为什么我在这里得到这个例外?
A->B->C (using buttons)
A-> D (using menu)
05-15 11:33:49.600: E/AndroidRuntime(2722): FATAL EXCEPTION: main
05-15 11:33:49.600: E/AndroidRuntime(2722): java.lang.RuntimeException: Canvas: trying to use a recycled bitmap [email protected]
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.graphics.Canvas.throwIfRecycled(Canvas.java:1038)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.graphics.Canvas.drawBitmap(Canvas.java:1142)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:393)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.widget.ImageView.onDraw(ImageView.java:924)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.view.View.draw(View.java:10983)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.view.ViewGroup.drawChild(ViewGroup.java:2887)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.widget.ListView.drawChild(ListView.java:3223)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.widget.AbsListView.dispatchDraw(AbsListView.java:2092)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.widget.ListView.dispatchDraw(ListView.java:3218)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.view.View.draw(View.java:11088)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.widget.AbsListView.draw(AbsListView.java:3398)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.view.ViewGroup.drawChild(ViewGroup.java:2887)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.view.View.draw(View.java:10986)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.view.ViewGroup.drawChild(ViewGroup.java:2887)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.view.View.draw(View.java:10986)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.widget.FrameLayout.draw(FrameLayout.java:450)
05-15 11:33:49.600: E/AndroidRuntime(2722): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2126)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.view.ViewRootImpl.draw(ViewRootImpl.java:2026)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1634)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.os.Handler.dispatchMessage(Handler.java:99)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.os.Looper.loop(Looper.java:137)
05-15 11:33:49.600: E/AndroidRuntime(2722): at android.app.ActivityThread.main(ActivityThread.java:4424)
05-15 11:33:49.600: E/AndroidRuntime(2722): at java.lang.reflect.Method.invokeNative(Native Method)
05-15 11:33:49.600: E/AndroidRuntime(2722): at java.lang.reflect.Method.invoke(Method.java:511)
05-15 11:33:49.600: E/AndroidRuntime(2722): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
05-15 11:33:49.600: E/AndroidRuntime(2722): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
05-15 11:33:49.600: E/AndroidRuntime(2722): at dalvik.system.NativeStart.main(Native Method)
我注意到我正在使用来自Activity C的图像和Activity D的图像资源的相同默认图像。当我从D的ListView问题中删除该资源时就解决了。为什么? – breceivemail