我在活动中有以下代码。有两个图像,一个是FrontImage,另一个是Back Image。正面图像有一些透明部分,因此可以看到背面图像。
<FrameLayout
android:id="@+id/main_frm"
android:layout_width="0.0dip"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:background="@android:color/white">
<ImageView
android:id="@+id/backImage"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center" />
<ImageView
android:id="@+id/frontImage"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="fitXY"
android:src="@drawable/FrontImage" />
</FrameLayout>
现在 - 这就是我要做的事情
1。我使用以下代码设置图像(相机照片后的OnActivityResult)
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
this.backImage.setImageBitmap(imageBitmap);
这很好用。
2 即可。当我通过以下代码
更改前映像时 this.frontImage.setImageDrawable(this.getResources().getDrawable(resId));
this.frontImage.setScaleType(ImageView.ScaleType.FIT_XY)
第3 即可。现在我再次尝试执行第1步,它给了我错误
从相机中单击“确定”后 Canvas: trying to use recycled bitmap
我之前遇到过与此错误相关的问题但未解决我的问题。基本上我不会在代码中回收任何位图。